Try this:
aStream.open(textFile.c_str()); //line 11
I think your code needs to take the internal C string to pass to the open() call. Note I'm not at a compiler right now, so can't double check this.
You may also want to check the signature of the this method:
vector<Data*> DataReader(string textFile);
Here, a complete copy of the vector will be taken when it's returned from the method, which could be computationally expensive. Note, it won't copy the Data objects, just the pointers, but with a lot of data might not be a good idea. Similarly with the string input.
Consider this instead:
void DataReader( const string& textFile, vector<Data*>& dataOut );