2016-12-22 2 views
-1

Ich habe versucht, eine neue CPP-Datei in ein C-Projekt in Visual Studio, mit dem folgenden Code hinzuzufügen:identifier „mit“ nicht definiert ist

#include <iostream> 

using namespace std; 

int main(int argc, char **argv) 
{ 
    cout << "Hello World!" << endl; 
    return 0; 
} 

jedoch die #include <iostream> produzierte allein mehr als 100 Fehler, so Ich musste das kommentieren, um zu sehen, ob das das Problem war. Danach tauchte dieser neue Fehler auf: identifier "using" is undefined. Ich nehme an, es ist entweder, weil das Projekt irgendwie für C konfiguriert wurde, oder weil es Dinge gibt, die der Präprozessor der Datei vorgibt, von denen ich nichts weiß. Wie kann ich das lösen?

+4

Wie Sie sagen, ist Ihr Projekt wahrscheinlich in C konfiguriert. Betrachten Sie die Projektkonfiguration in Visual Studio – Hugal31

+5

Dies ist 'C++' Code. Es wird nicht als 'c' Code erstellt. – drescherjm

+0

Benennen Sie die Dateierweiterung für C++ um oder rufen Sie die Eigenschaften der Datei auf, und weisen Sie den Compiler an, sie als C++ zu kompilieren. Einige häufige C++ - Erweiterungen: cpp, cc und C (Großbuchstaben auf Plattformen, bei denen Dateinamen mit Groß- und Kleinschreibung berücksichtigt werden). –

Antwort

1

Ich habe versucht, Sie sind uns bewusst eine neue CPP-Datei in ein C-Projekt in Visual Studio

So hinzufügen, dass es in einem C-Projekt C++ Code. Weißt du, was die Unterschiede zwischen C und C++ sind? Wenn dies der Fall ist, sollten Sie wissen, dass C using namespace oder <iostream> oder << oder cout nicht hat.

Wenn Sie möchten, dass C++ - Dateien in Ihrem C-Projekt funktionieren, können Sie entweder das Projekt als C++ kompilieren, Ihre C++ Datei (en) in C-Code konvertieren oder einfach sicherstellen, dass alle C++ Dateien die Erweiterung .cpp haben. das würde nur funktionieren, wenn das C-Projekt auf Standardeinstellungen war).

+3

Das ist nicht ganz richtig. Es kann Projekte mit gemischten (_C_/_C++ _) Dateien geben. Durch die korrekte Benennung der Dateien (in Form von Erweiterungen: _.c_/_.cpp_) und nicht mit _VStudio_ __default__ Einstellungen (dies ist eine allgemeine Regel für unerfahrene), sollte es gut funktionieren, ohne weitere Benutzereingriffe. – CristiFati

+1

@CristiFati Danke, ich habe meine Antwort aktualisiert. –

+1

Nun, C hat den Operator '<<', aber nur in seiner ursprünglichen Bedeutung :) –