超级基本C ++错误

时间:2015-04-30 05:32:41

标签: c++ file compilation

我有这段代码......

#include <stdio.h>
#include <wiringPi.h>

#include <fstream>
#include <iostream>

int main ()
{

  wiringPiSetup ();

  char instructions[100];

  ifstream b_file ( "instructions.txt" );
  b_file>> instructions;
  cout<< instructions <<"\n";

}

据我了解,这应该编译成一个程序,在控制台中输出“instructions.txt”的内容...但是,它甚至不会在Ubunutu中用g ++编译......出了什么问题?

错误消息告诉:

"if_stream" wasn't declared in this scope
"b_ file" wasn't declared in this scope
"cout" wasn't declared in this scope.

2 个答案:

答案 0 :(得分:2)

显示错误的是,您缺少std命名空间。两种方式:

std::ifstream b_file ( "instructions.txt" );
b_file >> instructions;
std::cout << instructions <<"\n";

另一种方法是在.cpp文件中包含之后添加

using namespace std;

为了解释一下,{em} std 命名空间中定义了ifstreamcout,如果你不告诉编译器要查找,则找不到b_fileifstream在那里,使用上述任何一种方式。然后{{1}}未正确定义,因为找不到{{1}},因此您也会收到有关它的错误消息。

另外,请仔细阅读C ++基础知识......这在任何C ++学习资料中都很早就有了。

答案 1 :(得分:2)

添加

using namespace std ;

代码。

请注意,ifstream ans cout都来自std名称空间。

或使用

std::ifstream  
std::cout

insted的