"cout" ist keine Member von "std"?
Hy,
ich wollte mit c++ anfangen, jedoch leider habe ich schon hier ein Problem. Der folgende Code ist laut VS absoluter Müll, aber wieso?:
#include <iostream>
int main()
{
std::cout << "Hello, world!";
return 0;
}
1 Antwort
Hey, dein Code sieht eigentlich gut aus. Das Problem kommt oft vor, wenn die notwendigen Header-Dateien fehlen. Da du #include <iostream> schon hast, ist das meistens abgedeckt. Arbeitest du zufällig mit dem Microsoft Visual Code-Compiler auf Windows? Falls ja, füge #include "stdafx.h" vor iostream ein. Das hilft dem Compiler, die richtigen Header-Dateien zu finden, vor allem, wenn sie schon mal kompiliert wurden. Probier das mal aus und schau, ob es dein Problem löst!
#include "stdafx.h" // Nur nötig, wenn du MSVC verwenden
#include <iostream>
int main() {
std::cout << "Hello, world!";
return 0;
}
// Oder:
#include <iostream>
int main()
{
// Verwende den std-Namespace, um auf "cout" zuzugreifen.
std::cout << "Hello, world!";
return 0;
}
MFG
Was war denn das Problem? Dass es vorher nicht ging aber jetzt schon?
ganz ehrlich, keine Ahnung. Geschrieben habe ich:
#include <iostream>
#include "pch.h"
das gab fehler. Per Zufall habe ich das dann gewechselt und es hat funktioniert:
#include "pch.h"
#include <iostream>
Ja das ist aber klar. Zuerst müssen immer die Standard-Header und danach die benutzerdefinierten Header ;). Da pch.h von dem Standard-Header abhänig ist.
Du kannst es dir vorstellen wie ein Auto, dein Standard-Header ist das Auto, und pch.h ist zum beispiel ein Autoradio. Ohne Auto kannst du das Autoradio nicht benutzen.
ja aber das zuerst zu schreiben hat doch erst dafür gesorgt, dass es funktioniert: #include "pch.h"
Achso, mein Fehler. pch.h ist ja ein Precompiled Header, und IOStream benötigt in dem Fall die Makros des pch...
danke, geht jetzt!