初學者在linux中進行c++程式設計時會遇到「『cout』在此作用域中尚未宣告」的錯誤。很多人會覺得很奇怪,我是嚴格按照c++語法來寫的,為什麼還會在編譯時提示「『cout』在此作用域中尚未宣告」的錯誤呢?下面來詳細分析一下錯誤原因,通過分析來得到問題解決辦法。
首先我們以一段**為例。
如果我們將這個**儲存為hello.cpp
在終端輸入g++ hello.cpp -o hello
編譯過很中肯定會報「『cout』在此作用域中尚未宣告」錯誤。
錯誤原因:
#include ,不能在程式中直接使用cout/cin等,採用#include 要包含命名空間std才能直接使用cout/cin,否則就要在該標頭檔案中定義的函式/變數前加上std::來表示呼叫 函式/變數的**。
解決辦法:
方法一:在 #include 下面加上一句「using namespace std;」
#include方法二:在使用cout時將cout替換為std::coutusing namespace std;
int main(
void)}
#include通過這兩種方法就可以解決linux c++程式設計過程中「cout作用域中尚未宣告」問題int main(
void)}
如果出現gcc] undefined reference to 'std::basic_string ...'問題,說明你用了gcc來編譯的,換成用g++來編譯就沒問題了。
C 中 在此作用域中尚未宣告 的錯誤解決
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!初學者在linux中進行c 程式設計時會遇到 cout 在此作用域中尚未宣告 的錯誤。很多人會覺得很奇怪,我是嚴格按照c 語法來寫的,為什麼還會在編譯時提示 cout 在此作用域中尚未宣告 的錯誤呢?下面來詳細分析一下錯誤原因,通過分析來得到問題解...
C 中 的作用
c 中 的作用 的作用 1,忽略轉義字元 例如string filename d 文字檔案 text.txt 使用 後 string filename d 文字檔案 text.txt 2,讓字串跨行輸出 例如 string strsql select from humanresources.empl...
C 中 的作用
雙冒號 操作符被稱為域操作符 scope operator 含義和用法如下 1.在類外部宣告成員函式。void point area 2.呼叫全域性函式 表示引用成員函式變數及作用域,作用域成員運算子 例 system math sqrt 相當於system.math.sqrt 3.呼叫類的靜態方法...