我有这段代码......
#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.
答案 0 :(得分:2)
显示错误的是,您缺少std
命名空间。两种方式:
std::ifstream b_file ( "instructions.txt" );
b_file >> instructions;
std::cout << instructions <<"\n";
另一种方法是在.cpp文件中包含之后添加:
using namespace std;
为了解释一下,{em} std 命名空间中定义了ifstream
和cout
,如果你不告诉编译器要查找,则找不到b_file
和ifstream
在那里,使用上述任何一种方式。然后{{1}}未正确定义,因为找不到{{1}},因此您也会收到有关它的错误消息。
另外,请仔细阅读C ++基础知识......这在任何C ++学习资料中都很早就有了。
答案 1 :(得分:2)
添加
using namespace std ;
代码。
请注意,ifstream
ans cout
都来自std名称空间。
或使用
std::ifstream
std::cout
insted的