繁体   English   中英

为什么我收到ifstream错误?

[英]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.tccbasic_ios.tcc遇到这些错误:

'operator=' is a private member of 'std::basic_streambuf<char>'

由于这是fstream库的一部分,显然我正在做的事情是错误的......

有人能帮忙吗?

你错过了

#include <fstream>

并且您可能将内容分配给inFile ,这是不允许的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM