C++ 疯狂的基本c++;错误

C++ 疯狂的基本c++;错误,c++,compiler-errors,C++,Compiler Errors,有人能解释为什么代码块会给我这些错误吗 error: ISO C++ forbids declaration of 'cout' with no type error: invalid use of '::' error: expected ';' before '<<' token error: '<<x>>' cannot appear in a constant-expression // <<x>> is many d

有人能解释为什么代码块会给我这些错误吗

error: ISO C++ forbids declaration of 'cout' with no type
error: invalid use of '::'
error: expected ';' before '<<' token
error: '<<x>>' cannot appear in a constant-expression      // <<x>> is many different variable names
<代码>错误:ISO C++禁止声明“CUT”,没有类型 错误:对“:”的使用无效 错误:应为“;”在“之前添加

#包括
std::cout
在此标题内


编辑:关于您的编辑-这意味着问题肯定在
myclass.h
中,或者有一些代码,这里没有显示

添加

#include <iostream>
#包括
std::cout
在此标题内


编辑:关于您的编辑-这意味着问题肯定在
myclass.h
中,或者有一些代码,这里没有显示

你应该包括

你应该包括

你在什么地方包括
了吗

在知道您已添加

你可以查一下:

  • #包括
  • 如果您的类定义是用分号完成的
如果一切正常,我想检查一下你的myclass.h:-(

你有没有把
放在什么地方

在知道您已添加

你可以查一下:

  • #包括
  • 如果您的类定义是用分号完成的
如果一切正常,我想检查一下你的myclass.h:-(如何
#包括

没有它(和下面的代码)

包含如何

没有它(和下面的代码)

您发布的代码(带有编辑)是正确的。必须有
myclass.h
中发生了一些有趣的事情(可能是

,以便编译器看到
::cout

您可能需要查看预处理器输出: Unix下的编译器选项
-E
,Visual Studio的编译器选项
/E
。它 将是大量的,但所有你感兴趣的是最后10个 大约行;预处理器对代码所做的操作。

您发布的代码(带有编辑)是正确的。必须有
myclass.h
中发生了一些有趣的事情(可能是

,以便编译器看到
::cout

您可能需要查看预处理器输出: Unix下的编译器选项
-E
,Visual Studio的编译器选项
/E
。它 将是大量的,但所有你感兴趣的是最后10个
大约行;预处理器对代码所做的操作。

在处理编译器错误时,最好从一开始就逐个解决。在许多情况下,一个错误会使解析器感到困惑,而一些后来诊断出的错误则不是这样(我指的是
部分,可能指的是真正的错误,也可能不是真正的错误)@calccrypto-关于编辑-然后向我们展示
myclass().run(data)
domyclass().run(data)返回string@calccrypto-如果删除(注释)
e=myclass()。运行(数据);
并将硬编码字符串放入
e
,错误是否仍然出现?@calccrypto-向我们展示
myclass.h
包含的内容。我非常确定问题就在那里(您会看到,如果删除此包含项,代码将工作得非常完美)在处理编译器错误时,最好从一开始就一个一个地解决它们。在许多情况下,一个错误会使解析器感到困惑,而一些后来诊断出的错误则不是这样(我指的是
部分,可能指的是或不是真正的错误)。@calccrypto-关于编辑-然后向我们展示
myclass()的功能(数据)
domyclass()。运行(数据)返回string@calccrypto-如果删除(注释)
e=myclass().run(data);
并将硬编码字符串放入
e
,错误是否仍然出现?@calccrypto-向我们展示
myclass.h
包含的内容。我很确定问题就在那里(您将看到,如果删除此include,代码将工作得非常完美)
#include <iostream>
#include <iostream>

int main(){
   std::string data;
   std::string e;

   std::cout << e << std::endl;

   return 0;
}
tst.cpp: In function `int main()':
tst.cpp:4: undeclared variable `string' (first use here)
tst.cpp:4: parse error before `;'
tst.cpp:5: parse error before `;'
tst.cpp:7: `e' undeclared (first use this function)
tst.cpp:7: (Each undeclared identifier is reported only once
tst.cpp:7: for each function it appears in.)
#define std