Wo ist der Fehler??
-
Ich bin grade am Lernen von C++ mit einem Tutorial, und ich scheitere an der Aufgabe I von 2.A.
Ganz grob zusammengefasst soll man in der Aufgabe ein Programm schreiben :).
Auf jeden Fall bekomm ich beim kompilieren meiner Arbeit immer einen Fehler:Compiling...
cons.cpp
d:\cons\cons.cpp(24) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.Hier der Code:
#include <cstdio> using std::printf ; int multiplie (int a, int b) { return(a*b); } int main() { int exit; int *array = new int [3]; array[0] = 4; array[1] = 6; array[2] = multiplie(array[0],array[1]); printf("%i\n",array[2]); delete [] array; return 0; }
Ich hoffe mir kann jemand sagen wo das Problem ist, und wie ich es lösen kann.
Ich danke mich schonmal für die Antworten*EDIT*
Ich benutz Visual C++ 6 zum schreiben und compilen.
-
#include <cstdio> int multiplie (int a, int b) { return(a*b); } int main() { int *array = new int [3]; array[0] = 4; array[1] = 6; array[2] = multiplie(array[0],array[1]); printf("%i\n",array[2]); delete [] array; return 0; }
unten waren doppelt klammer
printf ist kein element von std
exit war unötig /nur eine warnung
-
Wo hast du das denn her? printf() sollte man in C++ vermeiden, das ist C.
Versuchs mal so:#include <iostream> using namespace std; int multiplie (int a, int b) { return(a*b); } int main() { int exit; int *array = new int [3]; array[0] = 4; array[1] = 6; array[2] = multiplie(array[0],array[1]); cout << array[2] << "\n"; delete [] array; return 0; }
-
elise schrieb:
printf ist kein element von std
In Standard-C++ mit c-Headern schon.
-
Das mit dem "int exit;" hatte ich vergessen zu entfernen, am besten ignorieren.
Hmm, in dem Tutorial stand in einem Beispielprogramm dieses using std::printf auch drin. Wenn man das wegmacht, gehts! *freu*
Mit der C++ Version von Taurin gehts auch.Thx@all das ihr mir geholfen habt!
Wenn ichs schaff close ich den Thread.*EDIT*
Ich schaffs ned o_O
-
Bashar schrieb:
elise schrieb:
printf ist kein element von std
In Standard-C++ mit c-Headern schon.
da habe ich mich vom visual studio linken lassen:
error C2039: 'printf' : Ist kein Element von 'std'
-
elise schrieb:
da habe ich mich vom visual studio linken lassen:
So lange Du Dich nicht vom Visual Studio kompilieren lässt :D;)
SCNR,
MTE.
-
Im C++ Standard gibt es 2 gültige stdio headers:
- <cstdio>
- <stdio.h>
Beim ersten wird alles im std Namensraum declariert. Beim zweiten in den globalen Namesraum. Für den Rest sind sie equivalent. Oft ist <cstdio> folgendermassen implementiert:
namespace std{ #include<stdio.h> }
Ob VC6 jetzt aber standard gerecht ist, ist eine ganz andere Frage.
-
sagte bashar ja schon ... aber doppelt hält besser