Definitionen in der Kode
-
Hallo zusammen,
Ich Benutze visual Studio 2010. Wegen meinem Compiler muss ich immer die Variablen am oben definieren.
Ich will es aber nicht. Was soll ich tun?
-
Frage nochmal durchlesen (ob du sie selbst verstehst)
Wenn die Frage stimmt, evtl. mal ein Beispiel bringen.
-
Dann steige um auf das althergebrachte FORTRAN. Dort brauchten Variable nicht deklariert zu werden und die Datentypen waren durch die Anfangsbuchstaben schon festgelegt: i ... n = integer, alles andere real (float).
-
disconnectus schrieb:
Was soll ich tun?
Einen anderen Compiler oder eine andere Programmiersprache benutzen.
-
Bei diesem Fall, klappt allse. Ich bekomme die beide ausgaben 5 und 0:
#include <stdio.h> #include <math.h> #include "mpi.h" main (int argc, char* argv[]) { int a; int b; a = 5; printf("%d\n", a); b = 0; printf("%d\n", b); }
Hier bekomme ich beim Complierung diese Fehlern:
: error C2143: syntax error : missing ';' before 'type'
: error C2065: 'b' : undeclared identifier#include <stdio.h> #include <math.h> #include "mpi.h" main (int argc, char* argv[]) { int a; a = 5; printf("%d\n", a); int b; //Auf diese Zeile beachten b = 0; printf("%d\n", b); }
Ich muss variablen immer am oben definieren. Ich bin der Meinung dass es wegen meinem Compier ist.
Wie kann ich das Problem lösen??
-
MFK schrieb:
Einen anderen Compiler oder eine andere Programmiersprache benutzen.
-
Der Visual C-Compiler versteht nur C89. Also entweder du lebst damit, Variablen immer am Anfang eines Scopes zu definieren oder du verwendest bspw. CodeBlocks mit dem gcc und stellst in den Projekteigenschaften auf C99 um.
edit: Mit C99 ist es auch möglich, Variablen direkt im Schleifenkopf zu deklarieren und initialisieren
for(int i=0;i<10;++i){}
-
Vielen Dank
-
Oder Du nennst deine Dateien .cpp :xmas1: (Wird dann natürlich auch für cpp kompiliert)