'cout' : undeclared identifier



  • also. der fehler

    'cout' : undeclared identifier

    ist bei mit aufgetreten, als ich mit cout << [irgendwas] arbeiten wollte. (Microsoft Visual C++ 6.0) Daraufhin habe ich einfach ein Beispiel aus meinem "Buch" Kopiert und das ganze nochmal probiert, der Fehler bleibt:

    #include <iostream.h>
    
      void main() 
      { 
      int  k = 5 ;         // Deklaration (und Definition) einer Integer-Variable 
      char c = 'a';        // Deklaration einer Char-Variablen 
      double d = 3.1241;   // Deklaration einer Double-Variablen 
    
      cout << k;    // Integer-Ausgabe 
      cout << c;    // Char-Ausgabe 
      cout << d;    // Double-Ausgabe 
      }
    

    Was soll ich tun?



  • AAAAHHH!
    Tret das Buch in die Tonne!
    Es heißt include <iostream> using namespace std; int main(){... return 0;};
    Egal was dein Buch sagt, schreib es erst mal so, du wirst es später verstehen!



  • ok... momentle mal...

    erstmal ob man das void-style oder int-style schreibt is egal...
    zweitmal was is der unterschied zwischen iostream.h und iostream?
    drittmal was tut "using namespace std"?

    ich will es jetzt verstehen! 🙂



  • geeniusRL schrieb:

    erstmal ob man das void-style oder int-style schreibt is egal...

    im prinzip schon. die meisten compiler streiken aber bei 'void main'

    geeniusRL schrieb:

    zweitmal was is der unterschied zwischen iostream.h und iostream?

    mit .h ist veraltete schreibweise. viele compiler haben aber beide und iostream.h #included iostream.

    geeniusRL schrieb:

    drittmal was tut "using namespace std"?

    damit wird der 'namespace' std aktiviert. ohne müssteste immer std::cout schreiben



  • geeniusRL schrieb:

    erstmal ob man das void-style oder int-style schreibt is egal...

    Schreibt der aktuelle Standart nicht vor, dass main() einen int-Wert zurückgeben muss?



  • Lässt sich doch problemlos kompilieren? Merkwürdig.
    VC++6.0: Neu -> Konsolen-Projekt

    vielleicht noch ein 'endl' am schluss anfügen, damit nicht alles auf eine Zeile geschrieben wird 👍

    int k = 5;
    cout << k << endl;
    

    cheers



  • sky21 schrieb:

    Lässt sich doch problemlos kompilieren? Merkwürdig.

    ich glaub in 'iostream.h' steckt schon ein 'using namespace std' drin



  • net schrieb:

    sky21 schrieb:

    Lässt sich doch problemlos kompilieren? Merkwürdig.

    ich glaub in 'iostream.h' steckt schon ein 'using namespace std' drin



  • Sovok schrieb:

    net schrieb:

    sky21 schrieb:

    Lässt sich doch problemlos kompilieren? Merkwürdig.

    ich glaub in 'iostream.h' steckt schon ein 'using namespace std' drin

    was denn?



  • net schrieb:

    Sovok schrieb:

    net schrieb:

    sky21 schrieb:

    Lässt sich doch problemlos kompilieren? Merkwürdig.

    ich glaub in 'iostream.h' steckt schon ein 'using namespace std' drin

    was denn?

    es gibt keinen namespace std wenn du iostream.h einbindest

    extern ostream_withassign _CRTIMP cout;
    

    steht einfach direkt in ostream.h



  • .... jaja, die MFC



  • genau, das ist die Frage, ist das hier MFC oder das gut alte C++ Konsolen Programmieren, für mich sieht das nach dem zweiten aus, kann aber auch sein, das ich dumm bin. Diesen Thread müssten die Mods mal verschieben. 🕶



  • net schrieb:

    geeniusRL schrieb:

    erstmal ob man das void-style oder int-style schreibt is egal...

    im prinzip schon. die meisten compiler streiken aber bei 'void main'

    Genau umgekehrt:
    Im Prinzip nicht. Die meisten Compiler kompilieren es aber trotzdem.



  • dEUs schrieb:

    net schrieb:

    geeniusRL schrieb:

    erstmal ob man das void-style oder int-style schreibt is egal...

    im prinzip schon. die meisten compiler streiken aber bei 'void main'

    Im Prinzip nicht. Die meisten Compiler kompilieren es aber trotzdem.

    weil sie gut sind.


Anmelden zum Antworten