16. oktober 2007 - 08:27Der er
4 kommentarer og 1 løsning
Sparsomme compiler meddelelser i C++
Hej,
jeg er ny i C++, og har lagt maerke til, at compileren i C++ Builder 6 ikke altid fortaeller, praecis hvor i koden der er en fejl. Jeg faar ofte bare meddelelsen "Fejl i deklarationssyntaxen", hvis jeg f.eks. har glemt et ; eller en ).
Er der et eller andet sted, hvor man skal aktivere en funktion, saa compileren bliver mere specifik i sine meldinger?
Jeg har aldrig set at man kan få nogen compiler til at give en specifik fejlmeddelelse, eller indstille den til at være mere eller mindre specifik. Ved nogle typer fejl spytter nogle compilere fejlbeskeder ud på over 100 linier, kun hvis man er heldig får man at vide hvilken linie compileren er utilfreds med.
Sådan er det i C++, det er en følge af en ret kompleks og fleksibel syntax.
Compiler fejl meldingerne i C++ er desværre dårlige som om de alle har brugt den samme proto type til compileringen. Jeg ved ikke om det er fordi standarden foreskriver en bestemt melding, derfor kunne dem der laver compilerne jo sagtens komme med nogle bedre meldinger udover de foreskrevne. Specielt ved jeg at template fejl er meget uforståelige for selv hærdede udviklerer og de er meget forskellige fra compiler til compiler.
synes nu at visual studio klarer det meget godt indtil nu, især hvis det bare er en ; man har glemt, så plejer den da at pejle hen i nærheden af hvor det er fejlen ligger.
men har da prøvet at sidde og lede længe efter fejl selv i ekstremt simple programmer
Jeg må nok bare lære at debugge et program, dvs., lære at steppe et trin af gangen gennem koden, indtil fejlen opstår. Er det lige til, eller tager det tid at sætte sig ind i?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.