Ich lerne gerade C++ und verwende Visual Studio Code für Mac. Ich verwende Code Runner, um mein Programm auszuführen. Mein Problem ist, dass, wenn ich etwas aus C++ 11 wie “auto” für die Variablendeklaration verwende, Visual Studio-Code mir eine Warnung wie diese gibt, aber wenn ich versuche, es auf Xcode oder Eclipse auszuführen, tut es das nicht:
warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
for(auto y: nstrVec)
Kompilieren Sie für C++11? Es klingt nicht danach. Das auto Das Schlüsselwort wurde in C++11 eingeführt, sodass es von Visual Studio als Spracherweiterung betrachtet wurde.
– Cory Kramer
26. Juni 2018 um 15:46 Uhr
@CoryKramer Die Frage bezieht sich auf VS Code, nicht auf VS.
– Benutzer2100815
26. Juni 2018 um 15:47 Uhr
Sie weisen den Compiler an, zwei verschiedene Standards zu verwenden: Sie haben sowohl “-std=c++17” als auch “-std=c++11”.
– Fabio sagt, Monica wieder einzusetzen
26. Juni 2018 um 15:47 Uhr
Kannst du es über die Kommandozeile kompilieren? Das heißt, öffnen Sie eine Shell, gehen Sie in dieses Verzeichnis und geben Sie ein g++ -std=c++17 -g helloworld.cpp -o helloworld: funktioniert es?
– Fabio sagt, Monica wieder einzusetzen
26. Juni 2018 um 16:14 Uhr
Ich freue mich, dass Sie Ihr Problem lösen konnten, aber bitte bearbeiten Sie Ihren Beitrag nicht, um “GELÖST” im Titel hinzuzufügen, Stack Overflow funktioniert anders. Der richtige Weg, dies anzuzeigen, besteht darin, eine Antwort zu akzeptieren, sobald es eine gibt. Du könntest @Bob__ fragen, ob er daran interessiert ist, einen zu posten; wenn er es nicht ist, poste es bitte selbst und akzeptiere es. Danke!
Finden Sie C_Cpp>Default:Cpp Standard Dropdown-Menü
setze das auf c++11
Aber das löst mein Problem nicht. Es zeigt immer noch die gleiche Warnung
– Alex
22. Januar 2021 um 18:42 Uhr
Unter macOS ist dies Code > Einstellungen > Einstellungen > Erweiterungen
– tedtaner
11. Oktober 2021 um 17:51 Uhr
Dies löste mein Problem – musste nur vs Code neu starten und voila.
– Jonas Butler
3. Mai um 1:39 Uhr
vic.zhang
Ich hatte das gleiche Problem, habe es aber mit set vscode-user-settings <> gelöst
"clang.cxxflags": ["-std=c++14"]
Wo finden Sie diese Datei?
– Ridhuvarschan
10. Dezember 2020 um 6:00 Uhr
ljelliot
Ich habe heute so lange versucht herauszufinden, warum ich diesen Fehler bekomme, und nirgendwo hatte ich die genaue Antwort, die ich brauchte, also dachte ich, ich poste sie hier, nur für den Fall, dass ich jemandem den Ärger ersparen kann.
Wenn Sie Code Runner verwenden, sehen Sie in den Benutzereinstellungen nach und legen Sie Folgendes fest:
Dies setzt natürlich voraus, dass Sie Ihr Programm in der Shell mit Daniels Lösung oben kompilieren können, jedoch nicht in VScode + und mit Code Runner.
TimingTone
Ich habe dies verwendet, um mein Problem zu lösen. Öffnen Sie Ihr Terminal
Für alle, die auf diese Frage kommen, um eine schnelle Antwort zu finden (so wie ich):
Der folgende Compiler-Befehl sollte Ihr Programm kompilieren main.cpp mit dem neuesten C++-Standard (c++17) und sollte Warnmeldungen wie die oben beschriebene loswerden:
g++ -std=c++17 -g main.cpp -o main
Es wird in den Kommentaren mehrfach erwähnt, aber ich denke, diese Frage sollte regelmäßig beantwortet werden.
SHASHANK BHARDWAJ
Wenn Sie die CPH Judge-Erweiterung in VS add -std=c++11 in Cph › Language › Cpp: Args in den Erweiterungseinstellungen
Jatin Ranpariya
Wir müssen nur den g++ Compiler mit dem g++-11 Compiler verknüpfen. Unten ist der Prozess, wie man es auf einem Macbook macht.
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier einzufügen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verlinkte Seite ändert. – Aus Bewertung
– Hypenieren
30. April um 13:29 Uhr
10128800cookie-checkVisual Studio Code c++11-Erweiterungswarnungyes
Kompilieren Sie für C++11? Es klingt nicht danach. Das
auto
Das Schlüsselwort wurde in C++11 eingeführt, sodass es von Visual Studio als Spracherweiterung betrachtet wurde.– Cory Kramer
26. Juni 2018 um 15:46 Uhr
@CoryKramer Die Frage bezieht sich auf VS Code, nicht auf VS.
– Benutzer2100815
26. Juni 2018 um 15:47 Uhr
Sie weisen den Compiler an, zwei verschiedene Standards zu verwenden: Sie haben sowohl “-std=c++17” als auch “-std=c++11”.
– Fabio sagt, Monica wieder einzusetzen
26. Juni 2018 um 15:47 Uhr
Kannst du es über die Kommandozeile kompilieren? Das heißt, öffnen Sie eine Shell, gehen Sie in dieses Verzeichnis und geben Sie ein
g++ -std=c++17 -g helloworld.cpp -o helloworld
: funktioniert es?– Fabio sagt, Monica wieder einzusetzen
26. Juni 2018 um 16:14 Uhr
Ich freue mich, dass Sie Ihr Problem lösen konnten, aber bitte bearbeiten Sie Ihren Beitrag nicht, um “GELÖST” im Titel hinzuzufügen, Stack Overflow funktioniert anders. Der richtige Weg, dies anzuzeigen, besteht darin, eine Antwort zu akzeptieren, sobald es eine gibt. Du könntest @Bob__ fragen, ob er daran interessiert ist, einen zu posten; wenn er es nicht ist, poste es bitte selbst und akzeptiere es. Danke!
– Fabio sagt, Monica wieder einzusetzen
26. Juni 2018 um 22:10 Uhr