我在Ubuntu 11.04上的Netbeans 7.1上使用C ++。出于某种原因,以下代码会导致错误消息"无法解析标识符cout"。
#include <iostream>
using namespace std;
int main()
{
std::cout << "Hello,world!\n";
return 0;
}
非常感谢任何解决此问题的帮助。
答案 0 :(得分:3)
你的问题的解决方案至少很奇怪;) 一旦添加了iostream头,就必须重新解析代码。单击项目右键,转到代码帮助,然后单击以重新分析项目。为我工作。 我正在使用netbeans for mac。
答案 1 :(得分:1)
检查iostream是否真的被包含在内; 我已经在我的机器上使用eclipse cdt尝试了你的代码它工作正常。所以,请检查 包括
答案 2 :(得分:1)
这是什么类型的文件?它是.h文件还是.hpp文件?我有同样的问题。 Netbeans有时候用C ++会很荒谬。对我来说,我将#include <iostream>
更改为#include<iostream.h>
答案 3 :(得分:1)
这似乎太简单了,但是......
在我的NetBeans安装中,当我创建一个新项目时,指定C / C ++,它会弹出一个对话框,提示“项目名称:”,位置,文件夹,makefile名称,然后... “创建主文件”复选框,填写了“主”的编辑框,右侧是一个读取“C”的下拉列表。如果你点击完成,这将创建“main.c”(C,但不是C ++文件)。而是在下拉列表中选择“C ++”。然后IDE创建main.cpp,它将使用g ++编译,并将找到那些包含和函数。
答案 4 :(得分:1)
std :: cout和cout之间有区别。您当前没有在文件中定义std :: cout。 std :: cout是c标准输出。在C ++中,我们只需要cout即可与iostream一起使用。
如果必须使用标准输出,请执行以下操作:
将此添加到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。
答案 5 :(得分:0)
尝试取出using namespace std;
- 它通常被视为不良形式: - )
我不确定这会解决问题,但大多数人使用命名空间或完全限定std::cout
之类的内容。我从来没有见过两者的代码。
要检查的另一件事是iostream
标题 正在购买。换句话说,该行是否有任何错误。很多问题(至少在Windows世界中,所以它可能不一定适用于您)似乎是由于NetBeans中的错误路径设置。
答案 6 :(得分:0)
嘿,看看您的输出调试。您可能会看到“没有权限”。在将“ / YourProjekt / dist / Debug / GNU-Linux / file”的文件权限更改为可运行后,每个人都可以读写错误消失了。 (顺便说一句,我有这个错误,因为我的Projekt是在NTFS系统上,它必须是ext分区) 希望我能帮助您。
答案 7 :(得分:-1)
尝试取出cout旁边的std ::