2017-11-10 18 views
0

我不知道我是否只是使用錯誤的關鍵字..但我無法在Google上找到答案。我不能用我的錯誤思想來包容我的錯誤。在主函數之外使用「cout」的C++?

這是錯誤的一個簡單的例子:

#include <iostream> 

//std::cout << "hello"; 

int main() 
{ 
    std::cout << "hello"; 
    return 0; 
} 

在編譯/運行此我收到此錯誤:

main.cpp:3:6: error: 'cout' in namespace 'std' does not name a type

但是,如果我刪除第一cout線,只允許執行主函數內部的程序,它工作得很好。

任何人有任何想法?

+0

在大多數程序中,代碼需要在函數中才能執行。 –

+0

可執行代碼進入功能 – pm100

回答

4

你不能在C++中的函數之外運行代碼。編譯器僅僅期望函數之外的變量聲明,因此,期望std :: cout是一個類型,事實並非如此。

+1

「無法運行代碼」含糊不清。語法不允許*語句*在函數定義之外。 –

+5

爲什麼你當然可以。只需將代碼作爲變量初始化的一部分即可。 'std :: ostream&foo = std :: cout <<「maga」;' –