[英]Compiler errors from simple Visual C++ project
我正在嘗試使程序運行。 當我在win32 project / .cpp文件中嘗試Hello World時,出現一堆錯誤
1> ------構建開始:項目:HelloWorld3,配置:調試Win32 ------ 1>正在編譯... 1> hello.cpp 1> ... \\ projects \\ helloworld3 \\ helloworld3 \\ hello。 cpp(7):錯誤C2065:'cout':未聲明的標識符1> ... \\ projects \\ helloworld3 \\ helloworld3 \\ hello.cpp(7):錯誤C2001:換行符為常量1> ... \\ projects \\ helloworld3 \\ helloworld3 \\ hello.cpp(8):錯誤C2143:語法錯誤:缺少';' 在“返回”之前1>構建日志保存在“文件:/ ... \\ Projects \\ HelloWorld3 \\ HelloWorld3 \\ Debug \\ BuildLog.htm” 1> HelloWorld3-3個錯誤,0個警告
#include <iostream>
int main()
{
cout <<"Hello World!<<endl;
return 0;
}
cout在名稱空間“ std”中,因此您有兩個選擇:
使用std作為前綴
std :: cout <<“ Hello World” << std :: endl;
聲明您正在使用命名空間std
使用名稱空間std;
1> ... \\ projects \\ helloworld3 \\ helloworld3 \\ hello.cpp(7):錯誤C2065:“ cout”:未聲明的標識符
這是說它不知道什么是cout。 在C ++中,名稱可以位於名稱空間中。 如果是cout,則位於名稱空間std中。 您可以通過兩種方式告訴編譯器:
using namespace std;
這告訴編譯器將名稱空間std中的所有名稱引入當前名稱。 ::
。 就像在std::cout
一樣,您在這里告訴編譯器確切的位置。 1> ... \\ projects \\ helloworld3 \\ helloworld3 \\ hello.cpp(7):錯誤C2001:常量中的換行符
該錯誤表明編譯器正在查看一個常量(在本例中為字符串),並且在不需要的地方找到了換行符。 這幾乎總是缺少結尾的報價。
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
您需要使用std::cout
和std::endl
而不是cout
和endl
,或者在#include
之后執行此操作:
using namespace std;
using
子句使您的代碼更簡潔,但是在大型程序中,可能很難跟蹤名稱的來源,因此最好使用更詳細但更明確的std::cout
/ std::endl
。
您還缺少此處的結束語:
cout <<"Hello World!<<endl;
你應該有:
cout << "Hello World!" << endl;
ee1234。 看到這很可能是您的第一個C ++程序,請訪問CPlusPlus.com,它具有非常簡單而基本的教程。 這就是我第一次跳入c ++時的起點。 就好書而言,只需在SO上搜索“ C ++書”就可以了,您應該有很多關於適當的初學者->高級書的好帖子。
由於cout存在於標准名稱空間中,因此您應該包括
using namespace std;
在代碼的開頭,在您的include下,或在每個函數調用前使用std ::。 在為字符串放置開頭引號時,還應始終包含結尾引號。 這導致
std::cout << "Hello World!" << std::endl;
另一種寫法是:
std::cout << "Hello World!\n";
\\ n將導致換行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.