2009-07-06 10 views
1

Ich versuche, Programm ausführen zu lassen. Wenn ich Hello World in win32 project/.cpp-Datei versuche, bekomme ich eine Menge FehlerCompiler-Fehler von einfachen Visual C++ - Projekt

1> ------ Build gestartet: Projekt: HelloWorld3, Konfiguration: Debug Win32 ------ 1> Kompilieren ... 1> hallo.cpp 1> ... \ projects \ helloworld3 \ helloworld3 \ hello.cpp (7): Fehler C2065: 'cout': nicht deklarierter Bezeichner 1> ... \ projects \ helloworld3 \ helloworld3 \ hallo.cpp (7): Fehler C2001: Newline in Konstante 1> ... \ projects \ helloworld3 \ helloworld3 \ hello.cpp (8): Fehler C2143: Syntaxfehler: fehlt ';' vor 'return' 1> Build-Protokoll wurde bei "file:/... \ Projekte \ HelloWorld3 \ HelloWorld3 \ Debug \ BuildLog.htm" 1> HelloWorld3 - 3 Fehler (s), 0 Warnung (en)

gespeichert
#include <iostream> 

int main() 
{ 


cout <<"Hello World!<<endl; 
return 0; 
} 
+0

Wenn Sie eine Chance bekommen, sollten Sie Ihre Frage wirklich bearbeiten, um eine bessere Betreffzeile zu erhalten. "Visual C++" könnte alles bedeuten. Das wird die Leute nicht dazu bringen, es zu lesen. –

+0

Aber, RichieHindle, ich hatte gehofft, ihm 15 Minuten oder so zu geben, vielleicht auch alleine ... –

+0

@John: Tut mir leid, du hast recht, ich hätte ee1234 eher die Chance dazu geben sollen. – RichieHindle

Antwort

2

cout ist im Namespace "std", so haben Sie zwei Möglichkeiten:

  1. Präfix seine Verwendung mit std

    std :: cout < < "Hallo Welt" < < std: : endl;

  2. declare, die Sie mit dem Namespace std

    using namespace std;

+0

Ich habe es getan, aber jetzt bekomme ich: Fehler C2065: 'endl': undeclared Identifier Fehler – ee1234

+0

Endl ist auch im Namespace std ... Ich habe meine Antwort aktualisiert, um das zu widerspiegeln. Verwenden Sie stattdessen # 2, setzen Sie "using namespace std;" nahe der Spitze Ihrer Datei und Sie können vermeiden, alles mit "std ::" voranstellen –

+0

Es hat funktioniert. Danke. Kann mir jemand Videotraining oder ein Buch empfehlen? – ee1234

1

Sie müssen std::cout und std::endl verwenden, anstatt cout und endl, oder tun dies nach dem #include:

using namespace std; 

Die using Klausel macht den Code in gedrängter Form, aber in einem großen Programm kann es schwer zu verfolgen, woher die Namen kommen, so dass es besser sein kann, verwenden Sie die ausführlichere aber expliziter std::cout/std::endl.

Sie verpassen auch ein Schlusskurs hier:

cout <<"Hello World!<<endl; 

Sie haben sollten:

cout << "Hello World!" << endl; 
0

Da cout im Standard-Namespace vorhanden ist, sollten Sie entweder schließen

using namespace std; 

am Anfang Ihres Codes, unter Ihrem enthält, oder verwenden Sie std :: vor jedem Funktionsaufruf. Wenn Sie ein Eröffnungsangebot für eine Zeichenkette platzieren, sollten Sie immer auch ein Schlussangebot einfügen. Dies führt zu

std::cout << "Hello World!" << std::endl; 

Einem anderen Weg, dies wäre zu schreiben:

std::cout << "Hello World!\n"; 

Die \ n Ergebnisse in einem neuen Zeilenvorschub.

1

ee1234.Da dies wahrscheinlich Ihr allererstes C++ - Programm war, schauen Sie sich CPlusPlus.com an, es hat ein ziemlich einfaches und einfaches Tutorial. Genau dort habe ich angefangen, als ich zum ersten Mal in C++ gesprungen bin. So weit gute Bücher gehen, machen Sie einfach eine Suche nach SO nach 'C++ Books' und Sie sollten eine Fülle von guten Posts haben, die über geeignete Anfänger-> fortgeschrittene Bücher sprechen.

2

1> ... \ projects \ helloworld3 \ helloworld3 \ hello.cpp (7): Fehler C2065: 'Cout': nicht deklarierter Bezeichner

Was dies sagt, ist, dass es nicht der Fall ist Wissen Sie, was Cout ist. In C++ können Namen in Namespaces enthalten sein. Im Fall von cout ist es im Namespace std. Sie können den Compiler sagen, dass es in zwei Wegen suchen:

  • mit der Linie, using namespace std; dies teilt den Compiler in allen Namen im Namensraum std in die aktuellen zu bringen.
  • mit dem Scope-Auflösung-Operator ::. wie in std::cout Hier sagen Sie dem Compiler genau, wo Sie den Namen finden.

1> ... \ projects \ helloworld3 \ helloworld3 \ hello.cpp (7): Fehler C2001: Newline in konstanten

Dieser Fehler besagt, dass der Compiler bei einer konstanten Suche ist In diesem Fall eine Zeichenfolge, und es wurde eine neue Zeile gefunden, in der es keine erwartete. Dies ist fast immer ein fehlendes Endzitat.

#include <iostream> 

int main() 
{ 
    std::cout << "Hello World!" << std::endl; 
    return 0; 
} 
Verwandte Themen