![](/img/trans.png)
[英]In c++, Netbeans IDE throws “Unable to resolve identifier String”
[英]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.