Falsche Version

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Falsche Version

    Hi,

    ich wundere mich gerade über meine Version von Visual C++ bzw der Compiler Version.

    Denn: Schon beim einfachsten Code gibt es Fehler.

    Bsp: (hellowprld.cpp)

    Quellcode

    1. #include <iostream>
    2. void main ()
    3. {
    4. cout << "Hello world!" << endl;
    5. }


    Und der Fehler:
    --------------------Configuration: helloworld - Win32 Debug--------------------
    Compiling...
    helloworld.cpp
    c:\dokumente und einstellungen\administrator\desktop\c++\helloworld.cpp(5) : error C2065: 'cout' : undeclared identifier
    c:\dokumente und einstellungen\administrator\desktop\c++\helloworld.cpp(5) : error C2297: '<<' : illegal, right operand has type 'char [13]'
    c:\dokumente und einstellungen\administrator\desktop\c++\helloworld.cpp(5) : error C2065: 'endl' : undeclared identifier
    Error executing cl.exe.

    helloworld.exe - 3 error(s), 0 warning(s)
  • standartfunktionen liegen im namespace std:


    Quellcode

    1. #include <iostream>
    2. void main ()
    3. {
    4. std::cout << "Hello world!" << std::endl;
    5. }


    funktioniert.
    VC war immer wieder mit den Namespaces (std::) sehr nachlässig, möglich das es mit einer alten Version funktionieren würde. Ist dann allerdings kein ISO C++. Der obige Code ist dann fast korrekt:

    Quellcode

    1. #include <iostream>
    2. int main ()
    3. {
    4. std::cout << "Hello world!" << std::endl;
    5. }


    nach Standart und

    Quellcode

    1. #include <iostream>
    2. int main ()
    3. {
    4. std::cout << "Hello world!" << std::endl;
    5. return 0;
    6. }

    Damits auch unter VC läuft
    There are only 10 types of people in the world: Those who understand binary, and those who don't.

    Download meines ersten Spiels:HIER
    Über Feedback würde ich mich freuen ;)
  • ähm ja funktioniert.
    Ist allerdings keine tidy Variante.
    die header (ohne c am anfang und) mit .h danach sind nur aus kompatiblitätsgründen vorhanden und solten nicht verwendet werden wenn nicht nötig.

    in kleineren Programmen ist es uU vertretbar in die .cpp (nicht in den Header wenn vorhanden) ein "using namespace std" schreiben. Dann funktionierts auch.

    void als Rückgabewert für main() auch auf jeden Fall vermeiden!
    There are only 10 types of people in the world: Those who understand binary, and those who don't.

    Download meines ersten Spiels:HIER
    Über Feedback würde ich mich freuen ;)