C++:无法解析标识符cout、Netbeans、Ubuntu

C++: Unable to resolve identifier cout, Netbeans, Ubuntu

本文关键字:cout Netbeans Ubuntu 标识符 C++      更新时间:2023-10-16

我在Ubuntu 11.04上的Netbeans 7.1上使用C++。由于某些原因,以下代码导致错误消息"Unable to resolve identifier cout"。

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

如果能为解决这个问题提供任何帮助,我们将不胜感激。

问题的解决方案至少很奇怪;)一旦iostream头被添加,就必须重新分析代码。右键单击项目,转到代码帮助,然后单击以重新分析项目。为我工作。我用netbeans做mac。

检查iostream是否真的包含在内;我已经使用eclipsecdt在我的机器上尝试了你的代码,效果很好。所以,请检查包括。

这是什么类型的文件?它是.h文件还是.hpp文件?我也有同样的问题。使用C++时,Netbeans有时会很可笑。对我来说,我将#include <iostream>更改为#include<iostream.h>

这可能看起来太简单了,但。。。

在我的NetBeans安装中,当我去创建一个新项目时,指定C/C++,它会弹出一个对话框,提示输入"项目名称:"、位置、文件夹、生成文件名,然后。。。一个"创建主文件"的复选框,一个填写了"Main"的编辑框,右边是一个写着"C"的下拉列表。如果您点击Finish,这将创建"main.c"(c,但不是c++文件)。相反,在下拉列表中,选择"C++"。然后IDE创建main.cpp,它将使用g++进行编译,并找到这些include和函数。

std::cout和cout之间有区别。您当前没有在文件中定义std::cout。std::cout是一个c标准输出。在C++中,我们只需要cout就可以使用iostream。

如果您必须使用标准的c输出,请执行以下操作:

将此添加到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。

试着去掉using namespace std;-它通常被认为是不好的形式:-)

我不确定这是否能解决问题,但大多数人要么使用名称空间,要么完全限定std::cout之类的东西。我从未见过同时具有功能的代码

另一件需要检查的事情是,iostream标头实际上是被收买的。换句话说,这一行是否有任何错误。许多问题(至少在Windows世界中,所以它可能不一定适用于您)似乎是由于NetBeans中的错误路径设置造成的。

嘿,看看你的输出调试。您可能会看到"未经许可"。在我将"/YourProjekt/dist/Debug/NGNU Linux/file"的文件权限更改为可运行并且每个人都可以读写之后,错误消失了。(顺便说一句:我有这个错误,因为我的Projekt在NTFS系统上,它必须是ext分区)希望我能帮你。

尝试取出cout 旁边的std::