Fra VC++ til Dev-C++

Tags:    c++

Jeg skal "snart" til et opgør i c++, Dansk Datalogi Dyst, hvor jeg får udleveret nogle computere. I den forbindelse kan jeg ikke tage eget software med, så jeg må nøjes med en gratis kompiler fra nettet. Dev-C++ bruger gcc som kompiler, og den er lidt svær at vænne sig til.. Jeg har fx lavet et par koder, som ikke kan kompile.

I en af disse koder får jeg følgende "compiler log":
Fold kodeboks ind/udKode 


Hvis vi ser på fejlen, bliver der i loggen hentydet til ios_base.h filen linie 738, som lyder:
Fold kodeboks ind/udKode 


Loggen hentyder også til main.cpp filen linie 51, som lyder:
if (SearchName(strName, fin_dic) == true)

der ligger i en funktion, defineret som:
void GenNextToken(string *strNumber, string *strName, int NumPointer, ifstream fin_dic)

som bliver kaldt sådan:
GenNextToken(&Number, &BufferName, -1, fin_dic);

hvor variablerne er defineret som:
string BufferName;
string Number = "499";
ifstream fin_dic ("dict.txt");

Funktionen SearchName, som bliver kaldt på den linie i filen, ser sådan ud:
Fold kodeboks ind/udKode 


Den funktion er selvfølgelig ikke færdig, men det burde virke som den står der.. Hvorfor virker det ikke i Dev-C++, når det virker i Visual C++??

// Lærenem er ham, der kan stille de rigtige spørgsmål til den rigtige person...



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Man kan ikke kopierer stream objekter.
Hvis visual C++ accepterer at man gør det, er det fordi der er (endnu) en fejl i VisualC++.

Så du må overføre pointere eller referencer til stream's i dine funktions kald.



Hvis du benytter version 6 af VC++ eller ned efter, så er det somend problemet. VC++ 6 er nok en af de C++ kompilere der igennem alle tiderne har holdt sig mindst standarderne... De nyere versioner af VC++ overholder standarderne noget bedre, men der er stadig ting som ikke overholder dem helt.

MH.

The-Freak

Livet er for kort til at kede sig.
blog: http://laslego.frac.dk



Jeg bruger netop VC++ 6 :D

Og tak til Bertel for fejlrettelser..

// Lærenem er ham, der kan stille de rigtige spørgsmål til den rigtige person...



t