Zum Inhalt springen

Komisches Problem mit einer For-Schleife


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich hab hier mal ein ganz komisches Problem:

Folgendes C-Minimalprogramm


void main()

{

	for(int i = 0; i < 1; i++)

	{


	}

}

wirft folgende Fehler in Visual Studio 2010 Warning 6 warning C4552: '<' : operator has no effect; expected operator with side-effect d:\workspace visual studio\projects\a37a\a37a.c 5 Error 1 error C2143: syntax error : missing ';' before 'type' d:\workspace visual studio\projects\a37a\a37a.c 5 Error 2 error C2143: syntax error : missing ';' before 'type' d:\workspace visual studio\projects\a37a\a37a.c 5 Error 4 error C2143: syntax error : missing ';' before 'type' d:\workspace visual studio\projects\a37a\a37a.c 5 Error 9 error C2143: syntax error : missing ';' before '{' d:\workspace visual studio\projects\a37a\a37a.c 6 Error 3 error C2143: syntax error : missing ')' before 'type' d:\workspace visual studio\projects\a37a\a37a.c 5 Error 5 error C2065: 'i' : undeclared identifier d:\workspace visual studio\projects\a37a\a37a.c 5 Error 7 error C2065: 'i' : undeclared identifier d:\workspace visual studio\projects\a37a\a37a.c 5 Error 8 error C2059: syntax error : ')' d:\workspace visual studio\projects\a37a\a37a.c 5 Und komischerweise wird folgendes Programm fehlerfrei kompiliert

void main()

{

	int i;

	for(i = 0; i < 1; i++)

	{


	}

}

Hat jemand irgendeine Ahnung woran das liegen könnte?

Geschrieben
Hat jemand irgendeine Ahnung woran das liegen könnte?
Das liegt daran, dass in C eine Variablendeklaration im Initialisierungsteil der for-Schleife schlicht und einfach nicht erlaubt ist, zumindest nach dem alten Standard von 1989. Im neuen C-Standard von 1999 ist es erlaubt, aber das kann dein Compiler offenbar nicht, oder du musst es exlipizit einschalten.

Übrigens, "void main" ist auch falsch, in C89, C99 und C++. Es muss "int main" heißen.

Geschrieben

Erst mal Danke für die schnelle Antwort. Was mich jetzt aber immer noch verwundert, ist dass in manch anderen Projekten (selbe Solution und selber Projekt-Typ) die Variablendekleration in der for-Schleife reibungslos funktioniert.

Geschrieben
Was mich jetzt aber immer noch verwundert, ist dass in manch anderen Projekten (selbe Solution und selber Projekt-Typ) die Variablendekleration in der for-Schleife reibungslos funktioniert.
Vielleicht wird dieser Code als C99 oder C++ kompiliert.

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