簡體   English   中英

C ++:無法解析標識符cout,Netbeans,Ubuntu

[英]C++: Unable to resolve identifier cout, Netbeans, Ubuntu

我在Ubuntu 11.04上的Netbeans 7.1上使用C ++。 由於某種原因,以下代碼導致錯誤消息“無法解析標識符cout”。

#include <iostream>

using namespace std;
int main()
{
    std::cout << "Hello,world!\n";
    return 0;
}

任何幫助解決這個問題將不勝感激。

你的問題的解決方案至少是奇怪的;)一旦添加了iostream頭,就必須重新解析代碼。 單擊項目右鍵,轉到代碼幫助,然后單擊以重新分析項目。 為我工作。 我正在使用netbeans for mac。

這是什么類型的文件? 它是.h文件還是.hpp文件? 我有同樣的問題。 Netbeans有時候用C ++會很荒謬。 對我來說,我將#include <iostream>更改為#include<iostream.h>

這似乎太簡單了,但......

在我的NetBeans安裝中,當我去創建一個新項目時,指定C / C ++,它會彈出一個對話框,提示“項目名稱:”,位置,文件夾,生成文件名,然后......“復選框” “創建主文件”,一個填充了“main”的編輯框,右邊是一個讀取“C”的下拉列表。 如果你點擊完成,這將創建“main.c”(C,但不是C ++文件)。 而是在下拉列表中選擇“C ++”。 然后IDE創建main.cpp,它將使用g ++編譯,並將找到那些包含和函數。

std :: cout和cout之間存在差異。 您當前沒有在文件中定義std :: cout。 std :: cout是交流標准。 在C ++中,我們只需要cout來使用iostream。

如果必須使用標准c out,請執行以下操作:

將此添加到iostream下的頂部

#include <iostream> //Input output stream in C++
#include <cstdlib> //Stands for c standard library
using namespace std; 

您的代碼現在可以正常工作,因為:此更改定義了std :: cout和std :: cin等。 (標准輸入,標准輸出。)

但是,如果您不需要標准輸出,我建議使用此替代方法:用cout替換std :: cout,因為cout是在C ++中的iostream中定義的。 你的程序可以在沒有你的cin cout命令的std ::部分的情況下工作,因為你最初包含了iostream。

檢查iostream是否真的被包括在內; 我已經在我的機器上使用eclipse cdt嘗試了你的代碼它運行正常。所以,請檢查包含。

嘿看看你的輸出調試。 你可能會看到“沒有許可”。 我將“/ YourProjekt / dist / Debug / GNU-Linux / file”的文件權限更改為可運行后,每個人都可以讀寫錯誤消失。 (順便說一下:我有這個bug,因為我和我的Projekt在NTFS系統上,它必須是分區)希望我可以幫助你。

嘗試取出using namespace std; - 無論如何,它通常被認為是糟糕的形式:-)

我不確定這會解決問題,但大多數人要么使用命名空間,要么完全限定std::cout類的東西。 我從未見過同時執行這兩種操作的代碼

要檢查的另一件事是iostream標題實際上正在被買入。換句話說,該行是否有任何錯誤。 很多問題(至少在Windows世界中,所以它可能不一定適用於您)似乎是由於NetBeans中的錯誤路徑設置。

嘗試取出cout旁邊的std ::

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM