繁体   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