Implicit instantiation of undefined template 'std::basic_ifstream<char,std::char_traits<char>>'
なぜこのifstreamエラーが発生しますか?
#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
を入れてみました、それはまだ動作しません。
I #include <fstream>
の代わり#include <iostream>
、私はfstream.tcc
とbasic_ios.tcc
にこれらのエラーを取得:
'operator=' is a private member of 'std::basic_streambuf<char>'
そして、それは、fstreamのライブラリの一部だから、明らかに私がやっている何かが間違っている...
誰でも手伝っていただけますか?
「」の代わりに「」が必要です。「operator =」は実際のエラーです。出力ウィンドウには、 'Mapper'オブジェクトのコピーを作成する行番号を含む残りのエラーメッセージが含まれているはずです。 –
2番目のエラーの原因となるコードを表示する必要があります。 –