[英]Why am I getting this ifstream error?
Implicit instantiation of undefined template 'std::basic_ifstream<char,std::char_traits<char>>'
#ifndef MAPPER_H
#define MAPPER_H
#include <iostream>
#include <string>
#include <vector>
#include "KeyValue.h"
#include "Parser.h"
using namespace std;
class Mapper
{
public:
Mapper(ifstream& infile);
~Mapper(void);
void loadTokens();
void showTokens();
void map();
void printMap();
void printMap(string map_fileName);
private:
ifstream inFile; //<-- is where the error is happening
vector<string> tokens;
vector<KeyValue> map_output;
Parser* parser;
};
#endif
我甚至尝试过放std::ifstream
但它仍然不起作用。
当我#include <fstream>
而不是#include <iostream>
,我在fstream.tcc
和basic_ios.tcc
遇到这些错误:
'operator=' is a private member of 'std::basic_streambuf<char>'
由于这是fstream库的一部分,显然我正在做的事情是错误的......
有人能帮忙吗?
你错过了
#include <fstream>
并且您可能将内容分配给inFile
,这是不允许的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.