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
I've even tried putting std::ifstream
and it still doesn't work.
When I #include <fstream>
instead of #include <iostream>
, I get these errors in fstream.tcc
and basic_ios.tcc
:
'operator=' is a private member of 'std::basic_streambuf<char>'
And since that's part of the fstream library, obviously something i'm doing is wrong...
Anyone able to help?