![](/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.