C: for-schleife

Das Forum fĂĽr Programmierer und Systemadmins. Von Shell-, Perl- und PHP-Scripts bis zur objektorientierten Programmierung mit C++.

C: for-schleife

Beitragvon max_payne » Do 17 Nov, 2005 20:17

hm leute ich hab da n kleines problem

und zwar hab ich das gefĂĽhl, dass mich der kompiler etwas vera... will.

folgende zeile:
for(int intZ=0; intZ<intHoehe; intZ++)

fehlermeldung:
Anfangsdeklaration in >>for<<-Schleife ausserhalb C99 Modus verwendet.

ich frag mich jetzt:
seit wann darf man die Variablen nicht mehr innerhalb der for-schleife deklarieren?
max_payne
Ultimate Power-User
Ultimate Power-User
 
Beiträge: 4982
Registriert: Mo 30 Aug, 2004 12:25

Beitragvon robspr » Do 17 Nov, 2005 20:44

Ich wĂĽrde die Fehlermeldung so interpretieren:

Du hast zwar eventuell fĂĽr Teile deines Programmes den C99 Modus aktiviert, nicht aber fĂĽr die Funktion wo deine For-Schleife drinnen ist, und fĂĽr C-Programme die nicht im C99 Modus sind gilt, das die Variablen-Deklaration am Anfang des Blockes stehen muss.

Oder eben zu deiner letzten Frage: im Standard-C darf man Variablen nicht in der for-Schleife deklarieren, erst ab C99 (ANSI-Standard aus 1999).
robspr
Board-Mitglied
Board-Mitglied
 
Beiträge: 211
Registriert: So 21 Nov, 2004 12:58

Beitragvon max_payne » Do 17 Nov, 2005 21:11

also ich arbeite unter suse 9.3, sollte das da nicht funzen?
max_payne
Ultimate Power-User
Ultimate Power-User
 
Beiträge: 4982
Registriert: Mo 30 Aug, 2004 12:25

Beitragvon robspr » Do 17 Nov, 2005 21:21

Die verwendete Linux Distribution, oder auch das verwendete Betriebssystem hat damit sicher nichts zu tun.
Das hängt nur vom C-Compiler ab und von den Einstellungen des C-Compilers. Schau mal ob du eine PreCompiler-Option für C99 setzen kannst.

schau mal da: http://de.wikipedia.org/wiki/C99

Edit: fĂĽr gcc setze -std=c99, schau auch da: http://rush3d.com/reference/gcc-man/Standards.html
robspr
Board-Mitglied
Board-Mitglied
 
Beiträge: 211
Registriert: So 21 Nov, 2004 12:58

Re: C: for-schleife

Beitragvon superracer » Do 17 Nov, 2005 22:39

max_payne hat geschrieben:ich frag mich jetzt:
seit wann darf man die Variablen nicht mehr innerhalb der for-schleife deklarieren?

hat man noch nie wirklich dĂĽrfen, nur eben in c99 oder auch c++...
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon ulrich » Fr 18 Nov, 2005 08:20

was heiĂźt "noch nie wirklich dĂĽrfen"?
die aktuellen standards sehen es so vor, und die bestehen schon seit mehr als einem halben jahrzehnt...
ulrich
Senior Board-Mitglied
Senior Board-Mitglied
 
Beiträge: 287
Registriert: Do 13 Nov, 2003 14:27

Beitragvon superracer » Fr 18 Nov, 2005 08:54

ulrich hat geschrieben:was heiĂźt "noch nie wirklich dĂĽrfen"?
die aktuellen standards sehen es so vor, und die bestehen schon seit mehr als einem halben jahrzehnt...

da mĂĽĂźten wir jetzt drĂĽber streiten, ob c99 der "aktuelle standard" von c ist, oder ob ("plain old") c und c99 zwei verschiedene dinge sind...
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18


ZurĂĽck zu PROGRAMMIER FORUM

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast