I am out of ideas of how to fix this error. I've already defined the function in question but the compiler says I have not. Please help.
Here is the code:
class Parser{
public:
  virtual void parse(stringstream& ss) = 0;
};
class Main_Parser : public Parser{
public:
  Main_Parser(){
    cout << "new";
  }
  void parse(stringstream& ss){
    string s;
    ss >> s;
    cout << s;
  }
};
int main () {
  string s = "apple orange oracle";
  stringstream ss(s);
  Parser temp = Main_Parser();
  temp.parse(ss);
}
EDIT: I don't get how it is losing the information about method parse() if this is about splicing. Because I have already defined it in Parse class.
 
     
    