Drakoon Geschrieben 16. November 2002 Geschrieben 16. November 2002 hallo! ich habe seit gestern plötzlich immer wieder folgende fehler meldung... Borland C++ 5.5.1 for Win32 Copyright © 1993, 2000 Borland c:\c++\projects\manu_01.cpp: Error E2040 c:\Borland\Bcc55\include\_stddef.h 36: Declaration terminated incorrectly Error E2090 c:\Borland\Bcc55\include\_stddef.h 132: Qualifier 'std' is not a class or namespace name Error E2272 c:\Borland\Bcc55\include\_stddef.h 132: Identifier expected Error E2090 c:\Borland\Bcc55\include\_stddef.h 133: Qualifier 'std' is not a class or namespace name Error E2272 c:\Borland\Bcc55\include\_stddef.h 133: Identifier expected Error E2090 c:\Borland\Bcc55\include\_stddef.h 134: Qualifier 'std' is not a class or namespace name Error E2272 c:\Borland\Bcc55\include\_stddef.h 134: Identifier expected Error E2090 c:\Borland\Bcc55\include\_stddef.h 135: Qualifier 'std' is not a class or namespace name Error E2272 c:\Borland\Bcc55\include\_stddef.h 135: Identifier expected Error E2090 c:\Borland\Bcc55\include\rw/stddefs.h 51: Qualifier 'std' is not a class or namespace name Error E2272 c:\Borland\Bcc55\include\rw/stddefs.h 51: Identifier expected Error E2090 c:\Borland\Bcc55\include\rw/stddefs.h 52: Qualifier 'std' is not a class or namespace name Error E2272 c:\Borland\Bcc55\include\rw/stddefs.h 52: Identifier expected Error E2304 c:\Borland\Bcc55\include\rw/stddefs.h 160: Constant variable 'size_t' must be initialized Error E2141 c:\Borland\Bcc55\include\rw/stddefs.h 160: Declaration syntax error Error E2316 c:\Borland\Bcc55\include\mem.h 39: 'size_t' is not a member of 'std' Error E2188 c:\Borland\Bcc55\include\mem.h 39: Expression syntax Error E2293 c:\Borland\Bcc55\include\mem.h 39: ) expected Error E2316 c:\Borland\Bcc55\include\mem.h 40: 'size_t' is not a member of 'std' Error E2188 c:\Borland\Bcc55\include\mem.h 40: Expression syntax Error E2293 c:\Borland\Bcc55\include\mem.h 40: ) expected Error E2316 c:\Borland\Bcc55\include\mem.h 41: 'size_t' is not a member of 'std' Error E2188 c:\Borland\Bcc55\include\mem.h 41: Expression syntax Error E2293 c:\Borland\Bcc55\include\mem.h 41: ) expected Error E2316 c:\Borland\Bcc55\include\mem.h 42: 'size_t' is not a member of 'std' Error E2228 c:\Borland\Bcc55\include\mem.h 42: Too many error or warning messages *** 26 errors in Compile *** und folgendes soll compiliert werden... #include <conio.h> #include <iostream.h> #include <math.h> void main(void) { . . . source-code . . . } ich brauche für cin cout die iostream.h was kann ich da machen??? Zitieren
Klotzkopp Geschrieben 16. November 2002 Geschrieben 16. November 2002 Originally posted by Drakoon #include <iostream.h>Mach daraus bitte mal: #include <iostream> using namespace std; Wenn das nicht hilft, dann ist das mit hoher Wahrscheinlichkeit ein Folgefehler. Vielleicht fehlt nur irgendwo ein Semikolon. Schreib doch bitte mal den Inhalt von manu_01.cpp hier rein Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 #include <conio.h> // getch(); #include <iostream.h> // cin cout #include <math.h> //pow(,); wird zwar von math.h zur Verfügung gestellt aber der Borland C++ Compiler 5.5 bringt keinen //Fehler wenn die math.h nicht in den includes steht... void main(void) { char keybd; do { long int zahl_l,l,long_l,komplement,ergaenzung; int i,j,anzahl,stelle_i,stelle_j,stelle_i_i,stelle_j_j,tauscher; clrscr(); cout<<"-32Bit gross ist <long int>, sollte ein groesser Wert bei 'l' eingegeben werden"<<'\n'; cout<<" dann kann das Programm in eine Endlos-Schleife geraten."<<'\n'; // Eingabe mit Überprüfung auf zulässige Eingaben. // do { //// Bei der Zahl 10 ist es PC-Rechentechnisch nicht möglich i mit j zu tauschen //// cout<<'\n'<<"Geben Sie einen <long int> Wert 'l' zwischen 11 und 9'999'999'999 >32Bit< ein."<<'\n'<<"long int 'l' : "; cin>>l; long_l=l; zahl_l=l; anzahl=0; //// Ermittlung der Stellenanzahl //// do { zahl_l=zahl_l/10; ++anzahl; } while(zahl_l!=0); //// Ende Ermittlund der Stellenanzahl ///// } while (l<11); do { cout<<'\n'<<"Stellenwertigkeit von Rechts niedrig (1) nach Links hoch (10)."; cout<<'\n'<<"Geben Sie den <int> Wert 'i' ein (zwischen 1 - "<<anzahl<<")."<<'\n'<<" int 'i' : "; cin>>i; } while ((i<1) || (i>anzahl)); do { cout<<'\n'<<"Geben Sie den <int> Wert 'j' ein (darf nicht "<<i<<" sein)."<<'\n'<<" int 'j' : "; cin>>j; } while ((j<1) || (j>anzahl) || (j==i)); // Ende der Eingabe mit Überprüfung auf zulässige Eingabe // // Ermitteln der Stelle 'i' // komplement=pow(10,anzahl); ergaenzung=komplement-l; stelle_i=ergaenzung/pow(10,i); stelle_i=stelle_i*pow(10,i); stelle_i=stelle_i+pow(10,i); stelle_i=stelle_i+l; stelle_i=stelle_i-komplement; stelle_i=stelle_i/pow(10,i-1); // Ermitteln der Stelle 'j' // komplement=pow(10,anzahl); ergaenzung=komplement-l; stelle_j=ergaenzung/pow(10,j); stelle_j=stelle_j*pow(10,j); stelle_j=stelle_j+pow(10,j); stelle_j=stelle_j+l; stelle_j=stelle_j-komplement; stelle_j=stelle_j/pow(10,j-1); // Subtraktion von stelle 'i' und 'j' // long_l=long_l-(stelle_i*pow(10,i-1))-(stelle_j*pow(10,j-1)); // Tauschen der Stellen 'i' mit 'j' // tauscher=stelle_i; stelle_i=stelle_j; stelle_j=tauscher; // Stelle 'i' und 'j' wieder Einfügen // long_l=long_l+(stelle_i*pow(10,i-1))+(stelle_j*pow(10,j-1)); // Endlich Fertig also alles Anzeigen // clrscr(); cout<<"<long int> 'l' : "<<l<<" Die Stellen 'i' "<<i<<"="<<stelle_j<<" wurde mit stelle 'j' "<<j<<"="<<stelle_i<<" vertauscht."<<'\n'; cout<<"<long int> 'l' : "<<long_l<<" ist das neue Ergebniss."<<'\n'; cout<<'\n'<<"Soll das Programm wiederholt werden? - Abbruch mit Taste ausser [j/J]"<<'\n'; keybd=getch(); } while ((keybd=='j') || (keybd=='J')); } Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 Originally posted by Klotzkopp Mach daraus bitte mal: #include <iostream> using namespace std; hmm... schade hat nix gebracht. kommen immer noch die gleichen fehler. ich finds nur merkwürdig dass die fehler beim compilieren erst auftreten seit dem ich die kommentare eingefügt habe... Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 ich compiliere immer so dos console c:\borland\bcc55\bin\b.bat manu_01.cpp hier der inhalt von b.bat @echo off c:\borland\bcc55\bin\bcc32.exe +c:\borland\bcc55\bin\bcc32.cfg c:\c++\projects\%1 hier der inhalt von bcc32.cfg -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" hier der inhalt von ilink32.cfg -L"c:\Borland\Bcc55\lib" %1 hier steht der project name in meinem fall also manu_01.cpp Zitieren
Klotzkopp Geschrieben 16. November 2002 Geschrieben 16. November 2002 Bei mir funktioniert es - mit demselben Compiler und denselben Einstellungen. Lösche bitte mal die .obj und .tds-Dateien im bin-Verzeichnis, und versuche es nochmal. Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 ich weis nich weiter... hab jetzt alle .obj und .tds gelöscht aber der compiler bringt immer noch die gleichen fehler... hab auch mal den compiler neuinstalliert aber... keine besserung ich kann mir nich vorstellen warum es klappt.... edit wie kann man hier beim posten das syntax highlighting über nehmen oder zumindest die tabs??? Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 gibt es vieleicht ein update für die standard bcc55 includes? ich kann mir nich vorstellen dass mein win2kpro oder mein kleines progrämmchen daran schuld sein soll... Zitieren
Klotzkopp Geschrieben 16. November 2002 Geschrieben 16. November 2002 Originally posted by Drakoon wie kann man hier beim posten das syntax highlighting über nehmen oder zumindest die tabs??? Du kannst die Code-Tags verwenden, damit die Einrückung erhalten bleibt und eine Festbreitenschriftart verwendet wird. Syntaxhighlighting haben wir z.Zt. nur für PHP. gibt es vieleicht ein update für die standard bcc55 includes? ich kann mir nich vorstellen dass mein win2kpro oder mein kleines progrämmchen daran schuld sein soll... Ich auch nicht. Wie gesagt, der identische Code, der gleiche Compiler (ohne irgendwelche Updates), und es funktioniert tadellos. Bist du wirklich ganz sicher, dass das der ganze Code war? Steht nicht vielleicht noch irgendwas vor den #includes? Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 /***denny*trebbin********************************* * fisrt date 11/13/2002 first time 7:00pm * edit date 11/14/2002 last time 01:56pm * this programm should be change some bits from a integer number ***************************************v0.7.8***/* #include <conio.h> // getch(); #include <iostream.h> // cin cout #include <math.h> //pow(,); void main(void) { char keybd; do { long int zahl_l,l,long_l,komplement,ergaenzung; int i,j,anzahl,stelle_i,stelle_j,stelle_i_i,stelle_j_j,tauscher; clrscr(); cout<<"-32Bit gross ist <long int>, sollte ein groesser Wert bei 'l' eingegeben werden"<<'\n'; cout<<" dann kann das Programm in eine Endlos-Schleife geraten."<<'\n'; // Eingabe mit Überprüfung auf zulässige Eingaben. // do { //// Bei der Zahl 10 ist es PC-Rechentechnisch nicht möglich i mit j zu tauschen //// cout<<'\n'<<"Geben Sie einen <long int> Wert 'l' zwischen 11 und 9'999'999'999 >32Bit< ein."<<'\n'<<"long int 'l' : "; cin>>l; long_l=l; zahl_l=l; anzahl=0; //// Ermittlung der Stellenanzahl //// do { zahl_l=zahl_l/10; ++anzahl; } while(zahl_l!=0); //// Ende Ermittlund der Stellenanzahl ///// } while (l<11); do { cout<<'\n'<<"Stellenwertigkeit von Rechts niedrig (1) nach Links hoch (10)."; cout<<'\n'<<"Geben Sie den <int> Wert 'i' ein (zwischen 1 - "<<anzahl<<")."<<'\n'<<" int 'i' : "; cin>>i; } while ((i<1) || (i>anzahl)); do { cout<<'\n'<<"Geben Sie den <int> Wert 'j' ein (darf nicht "<<i<<" sein)."<<'\n'<<" int 'j' : "; cin>>j; } while ((j<1) || (j>anzahl) || (j==i)); // Ende der Eingabe mit Überprüfung auf zulässige Eingabe // // Ermitteln der Stelle 'i' // komplement=pow(10,anzahl); ergaenzung=komplement-l; stelle_i=ergaenzung/pow(10,i); stelle_i=stelle_i*pow(10,i); stelle_i=stelle_i+pow(10,i); stelle_i=stelle_i+l; stelle_i=stelle_i-komplement; stelle_i=stelle_i/pow(10,i-1); // Ermitteln der Stelle 'j' // komplement=pow(10,anzahl); ergaenzung=komplement-l; stelle_j=ergaenzung/pow(10,j); stelle_j=stelle_j*pow(10,j); stelle_j=stelle_j+pow(10,j); stelle_j=stelle_j+l; stelle_j=stelle_j-komplement; stelle_j=stelle_j/pow(10,j-1); // Subtraktion von stelle 'i' und 'j' // long_l=long_l-(stelle_i*pow(10,i-1))-(stelle_j*pow(10,j-1)); // Tauschen der Stellen 'i' mit 'j' // tauscher=stelle_i; stelle_i=stelle_j; stelle_j=tauscher; // Stelle 'i' und 'j' wieder Einfügen // long_l=long_l+(stelle_i*pow(10,i-1))+(stelle_j*pow(10,j-1)); // Endlich Fertig also alles Anzeigen // clrscr(); cout<<"<long int> 'l' : "<<l<<" Die Stellen 'i' "<<i<<"="<<stelle_j<<" wurde mit stelle 'j' "<<j<<"="<<stelle_i<<" vertauscht."<<'\n'; cout<<"<long int> 'l' : "<<long_l<<" ist das neue Ergebniss."<<'\n'; cout<<'\n'<<"Soll das Programm wiederholt werden? - Abbruch mit Taste ausser [j/J]"<<'\n'; keybd=getch(); } while ((keybd=='j') || (keybd=='J')); } //// EOF //// Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 step-by-step total von vorn mein bruder studiuert irgendwas in berlin und er hat da nen fach "programmiersprachen" oder so. er hatte mich angefrufen weil sie ein programm schreiben sollen welches von einer long int (l) zahl zwei stellen (i,j) mit ein ander vertauscht. benutz werden sollte die funktion pow(,); die stellen sollen mathematisch berechnet und ausgetauscht werden... ich fing also an und teste auch gleich immer inkl compilieren ohne fehler. nach dem ich fertig war hab ich angefangen die unbenutzen includes zu entfernen und hab noch die kommentare eingefügt. ab da an brachte der bcc55 diese fehler meldung... wenn ich alle includes wieder einfüge und die kommentare wieder lösche dann funktioniert es leider auch nich mehr... ich hab dann auf arbeit bcc55 installiert und wollte dort compilieren aber auch da gleich der fehler... ich weis jetzt echt nich mehr weiter.... Zitieren
Klotzkopp Geschrieben 16. November 2002 Geschrieben 16. November 2002 Originally posted by Drakoon ich weis jetzt echt nich mehr weiter.... Aber ich! :D In der letzten Zeile des einleitenden Kommentars steht nach dem Ende des Kommentars (*/) noch ein *. Der bricht dem Compiler das Genick. ***************************************v0.7.8***/* <-- der muss weg! Zitieren
Drakoon Geschrieben 16. November 2002 Autor Geschrieben 16. November 2002 DANKE boa THX echt krass dass ich das übersehn hab... aber warum wird mir dann trotzdem der syntax corecct eingefärbt angezeigt? ich nutze ultraeditv9.2 egal es läuft wieder danke danke danke edit jetzt kann ich meine neue berechnung der stellen einfügung und somit auch stellen mit dem zahlen wert 0 korrect tauschen... hab ich schon danke gesagt??? DANKE Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.