2017-02-11 2 views
-6

Die Hintergrundgeschichte: Ich versuche, ein Konto auf en.cppreference.com zu erstellen. Teil des Prozesses umfasst: Was wird angezeigt von Std :: Cout < < "ev" < < 'a';kann nicht "std :: cout"

Das Dilemma: Ich habe keine Ahnung, was zum Teufel das ist. Ich habe versucht, das in das Terminal zu setzen, aber nichts nützliches bekommen. Ich habe versucht, das in Code und kompilieren es ... immer noch kein Glück. Ich habe es gegooglet, bin aber nicht näher gekommen zu verstehen, was zur Hölle sie mich von mir verlangen. und last but not least ging ich zu http://en.cppreference.com/w/cpp/io/cout

und fand den folgenden Code, den ich auch ohne Glück zu kompilieren versuchte.

#include <iostream> 
struct Foo { 
    int n; 
    Foo() { 
     std::cout << "static constructor\n"; 
    } 
    ~Foo() { 
     std::cout << "static destructor\n"; 
    } 
}; 
Foo f; // static object 
int main() 
{ 
    std::cout << "main function\n"; 
} 

Versuche es führte zu kompilieren:

[[email protected] LearningCode]$ gcc input.c 
input.c:1:20: fatal error: iostream: No such file or directory 
#include <iostream> 
        ^
compilation terminated. 

All diese Vergangenheit ich versuche zu tun bekommen, so kann ich ein Konto und mehr über C-Programmierung erstellen.

+0

Sie verwenden einen C-Compiler ('gcc') Code in C geschrieben zu kompilieren ++. Sie müssen einen C++ - Compiler wie 'g ++' verwenden. – DyZ

+2

Sie benötigen kein cppreference.com-Konto, um C zu lernen. Alles auf cppreference.com steht Ihnen ohne Anmeldung zur Verfügung. Mit einem Konto können Sie nur die Wikis bearbeiten. – emlai

+0

@DYZ, danke, das ist gut zu wissen.I – Vasqi

Antwort

0

Der von Ihnen in einem C++ - Programm präsentierte Code. Sie müssen es in file.cpp Format speichern, danach müssen Sie mit g++ file.cpp kompilieren und es sollte funktionieren.

Sie haben es gespeichert file.c Format und kompilieren es mit gcc, die C-Standard ist, nicht C++.

0

Dies ist ein C++ - Programm und Sie versuchen, mit gcc Compiler kompilieren. Verwenden Sie g++ Compiler, um dieses Programm zu kompilieren.

+0

ok danke, das hatte ich mir gedacht. – Vasqi

+0

Ich hatte den Eindruck, dass gcc c/C++ war, also habe ich versucht, als .c und .cpp zu kompilieren und dachte, dass ich das gedeckt hätte. Aber ich habe gerade versucht g ++ input.cpp und das hat gut funktioniert. Es tut mir leid, aber ich kann deine Antwort nicht mehr als richtig markieren, weil mein Ruf von 16 auf 10 gefallen ist, sobald ich diese Frage gestellt habe. – Vasqi

+0

@Vasqi, das ist in Ordnung. Beachten Sie, dass '' eine C++ - Bibliothek ist. Froh, dass ich Helfen kann. – Rishi

0

Der Compiler gcc kann C++ - Code kompilieren, siehe here. Ich denke, das Problem ist, dass Sie mit gcc input.c kompilieren. Versuchen Sie, den Dateinamen in input.cpp zu ändern, da *.c Dateien C-Dateien sind und *.cpp Dateien C++ - Dateien sind. Sie müssen auch einen Linker angeben, da die C++ nicht standardmäßig verknüpft sind. Also sollte das funktionieren: gcc input.cpp -lstdc++. Sie können auch den g++ Compiler verwenden, in dem die Bibliotheken standardmäßig verknüpft sind.
Um den anderen Teil Ihrer Frage zu beantworten: std::cout ist in der Tat std:: und . std ist nur die Konsole (in C ist es stdout, ich bin mir nicht sicher, ob es in C++ gleich heißt). Und cout druckt Text aus.

+0

Xeneda, ich habe einen gescheiterten Versuch gemacht, als: gcc input.cpp zu kompilieren, bevor ich hierher kam, um Rat zu suchen. – Vasqi

+0

Versuchen Sie, mit gcc input.cpp -lstdC++ zu kompilieren. Dies wird die Standard-C++ - Bibliotheken verknüpfen. –

0

std::cout druckt gegebenen String in der Konsole. Ich empfehle ein paar grundlegende Tutorial von C++, vielleicht this wird in Ordnung sein.

Zwei simpliest Beispiele, die funktionieren sollte:

#include <iostream> 

int main() 
{ 
    std::cout << "Hello World!"; 
} 

und zweiten (genau das gleiche tun):

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout << "Hello World!"; 
} 
Verwandte Themen