Zum Inhalt springen

c++ compiler 5.5.1 - fehler beim compilieren


Empfohlene Beiträge

Geschrieben

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???

Geschrieben
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

Geschrieben

#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'));

}

Geschrieben
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...

Geschrieben

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

Geschrieben

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???

Geschrieben
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?

Geschrieben
/***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 ////

Geschrieben

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.... :(

Geschrieben
Originally posted by Drakoon

ich weis jetzt echt nich mehr weiter.... :(

Aber ich! :D :D :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!

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...