dev 代码::Blocks/ Dev-c++: 错误: iostream: 没有这样的文件或目录



我从这里下载了Code::Blocks:http://www.codeblocks.org/downloads/26

我正在学习c编程。当我运行以下程序时,出现错误:

iostream: No such file or directory
error: syntax error before "namespace"
warning: type defaults to `int' in declaration of `std'
warning: data definition has no type or storage class
In function `main':
error: `cout' undeclared (first use in this function)
error: (Each undeclared identifier is reported only once
error: for each function it appears in.)
error: `cin' undeclared (first use in this function)

我正在运行以下程序:

#include <iostream>
using namespace std;
int main()
{
  int x;
  x = 0;
  do {
    // "Hello, world!" is printed at least one time
    //  even though the condition is false
    cout<<"Hello, world!n";
  } while ( x != 0 );
  cin.get();
}

我尝试了 Dev-C++,但出现同样的错误。如何解决这个问题?

这是在像"program.c"或"program.cpp"这样的文件中吗? 如果它是一个 .c 文件,则编译器可能会将其解释为 C,而不是C++。 这很容易导致此类错误。 可以"强制"编译器将其中一个扩展名视为另一个扩展名,但默认情况下,.c 文件适用于 C,.cpp文件编译为 C++。

要么

是这个,要么是标准库的默认"include"目录设置不正确,但我不知道您将如何解决这个问题,因为这将取决于编译器/环境。

我在尝试在Code::Blocks中运行我的第一个程序时也遇到了这个问题。我的文件以".c"扩展名保存为"test.c",当我将其保存为"test.cpp"时,它工作正常。

还值得一提的是,在成功编译新的"test.cpp"文件之前,我必须重新启动Code::Blocks

在编译前保存源代码时,只需使用扩展名".cpp"保存名称即可。您不会收到错误。

我遇到了同样的问题。

更改 #include #incude

因此,在您的程序中,将与iostream相关的每个关键字(例如cin cout和endl)更改为std::cout,std::cin和std::endl

那会解决问题

使用 <iostream> 而不是 <iostream.h>并在coutcin等之前添加std::

使用std::cout << "Welcome";
而不是cout << "Welcome";

保存扩展名为.cpp的文件

您在 Codeblocks/devc++ 中的 mingw 目录文件夹中缺少 iostream.h 文件。 您所要做的就是从下面给出的链接下载文件,并在 Codeblocks/devc++ 中替换为您之前的 mingw 文件夹。

http://www.4shared.com/rar/owp-D0Km/mingw.html

我发现问题是由Perl安装中以前版本的cgg和cpp引起的。Perl 结构没有正确的库文件。当我将C:MinGWbinC:MinGWMSYS1.0bin添加到路径时,我在最后添加了它们,因此它首先选择了Perl安装。我将路径变量条目移动到开头并重新打开我的cmd窗口,它现在可以工作了,因为它首先找到MinGW版本。

键入 path 以查看路径环境可变。我的现在看起来像:

C:MinGW>path
PATH=C:MinGWbin;C:MinGWMSYS1.0bin;C:Perlsitebin;C:Perlbin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:Program FilesWIDCOMMBluetoothSoftware;

显然你想创建一个 c++ 文件。 但是您允许计算机自动提供文件扩展名 C/C++。 当它这样做时,它会自动提供".c"的文件扩展名。 这不是巧合。 你想要".cpp"。

解决方案:使用".cpp"扩展名重命名文件,或者在保存新文件时通过在预期的文件名后加上".cpp"(当然没有引号)来明确说明您的扩展名;即指定您的文件扩展名。

我在 Dev-C++ 中尝试过。代替iostream.h使用iostream也写使用命名空间std;

#include<iostream>
using namespace std;
int main()
 {
   cout<<"Hello Worldn";
   return 0;
 }

你用C++代码编写程序,使用C代码,然后你的程序可以正常运行

在第一行使用它

#include <Io stream.h>
main ()
{

在结束行中使用它

system (pause");

你想做一个C游戏对吗?如果你是你的代码是C++而不是C。因此,如果你想做一个C游戏,你应该改变你的代码。这可能会有所帮助。

只需在main()之前加上"Using namespace std;"即可定义您正在使用的标识符的范围。这将轻松处理您的问题。

尝试包含iostream.h而不是iostream

最新更新