Deklaration in Funktionen
-
beim mingw sollte es mit '-std=c99' gehen.
-
aha, und das gibt man wo ein?
-
Woolve schrieb:
Der war Geil!
Entschuldige, meine Humorerkennungsrate ist heute wiedermal im Keller - Was!?
Woolve schrieb:
@mu: Versuchs doch mal mit Dev-C++ von Bloodshed.
Bloß nicht! Den nächsten, den ich mit dieser Empfehlung erwische, würg' ich!
Da MingW einen gcc mitbringt übergibst du ihm als Parameter -std=c99 (Vgl. http://gcc.gnu.org/onlinedocs/gcc-4.2.3/gcc/Standards.html#Standards).
greetz, Swordfish
-
Woolve schrieb:
Hi lord.hong!
Mag vielleicht sein, dass es der Standard vorschreibt, aber es funktioniert trotzdem, wenn du
void FunctionA() { for (int i = 0; i < 10; ++i) { // Do something } }
schreibst. Poste doch mal den kompletten Code, vielleicht liegt der Fehler woanders.
Welchen Compiler/IDE benutzt du?Als ich benutze VS2005. Ich finde auch keine explizite Einstellungen in den Projekt-Settings.
Wenn ich o. g. Beispiel benutze bekomme ich diese Fehlermeldung. 84 ist die for-Schleife.
1>source.c(84) : error C2143: syntax error : missing ';' before 'type'
1>source.c(84) : error C2143: syntax error : missing ')' before 'type'
1>source.c(84) : error C2143: syntax error : missing ';' before 'type'
1>source.c(84) : error C2065: 'i' : undeclared identifier
1>source.c(84) : warning C4552: '<' : operator has no effect; expected operator with side-effect
1>source.c(84) : error C2059: syntax error : ')'
1>source.c(85) : error C2143: syntax error : missing ';' before '{'Bin ehrlich gesagt nicht davon sehr begeistert, weil meine Kollegen die Variablen auch nie initialisieren - was mich dann doch etwas nervös macht.
-
lord.hong schrieb:
Als ich benutze VS2005. Ich finde auch keine explizite Einstellungen in den Projekt-Settings.
Microsofts C Compiler unterscheidet nur zwischen C und C++. Und im falle von C versteht er höchstens C90.
Bin ehrlich gesagt nicht davon sehr begeistert, weil meine Kollegen die Variablen auch nie initialisieren - was mich dann doch etwas nervös macht.
Was hat das mit uninitialisierten Variablen zu tun?
greetz, Swordfish
-
Ups, der Eintrag war zu früh!
-
Swordfish schrieb:
Bin ehrlich gesagt nicht davon sehr begeistert, weil meine Kollegen die Variablen auch nie initialisieren - was mich dann doch etwas nervös macht.
Was hat das mit uninitialisierten Variablen zu tun?
void FunctionA() { int i; int j; [....] j = 0; j += i; }
Mich stört es, dass sie irgendwo später im Code die Variablen erst initialisieren und nicht gleich am Anfang. In C++ deklariere und intialisiere ich die Variable dort, wo ich sie auch benötige.
Bin mir aber nicht ganz sicher, ob ich überhaupt deine Frage richtig verstanden habe.
Gut, dann weiß ich nun, dass in C immer am Anfang alle Variablen deklariert werden müssen.
Danke.
-
Woolve schrieb:
Mag vielleicht sein, dass es der Standard vorschreibt, aber es funktioniert trotzdem, wenn Du
for (int i = 0; i < 10; ++i)
schreibst.
Eben nicht immer. Hocke gerade über einer Portierung, in der der eine Compiler das mitgemacht hat, aber der Targetcompiler eben nicht. Hocke schon einige Zeit dran und finde das ausgesprochen unlustig, mich zur Tippse degradiert zu sehen.
-
Swordfish schrieb:
Woolve schrieb:
@mu: Versuchs doch mal mit Dev-C++ von Bloodshed.
Bloß nicht! Den nächsten, den ich mit dieser Empfehlung erwische, würg' ich!
irgend ein argument? warum nicht?
-
Weil das Ding seit 2005 nicht mehr weiterentwickelt wird, und die aktuellste version eine verbuggte Beta ist?
greetz, Swordfish