From the use of backslashes in your path I am guessing you're on Windows, and from the fact it does not work, I am guessing you're using a very old distribution of mingw. Try a modern one from https://nuwen.net/mingw.html or http://mingw-w64.org or just use Visual Studio (it's also free, and is native to your platform)
Surely there is some solution that doesn't require such a seismic shift for such a small problem. : )
If your compiler doesn't support stoX() then there is always the always available stringstream approach to convert to strings.
I believe the stoX() functions require a 5.0 or higher version of the g++ compiler and if your compiler doesn't support this function then you will need to either upgrade the compiler or find a compiler that does support this feature.
float get_float(std::string& message)
ss >> value;
//TODO check for ot of range error
Alternativ you can use the good old atof, though it returns a double
You're trying to feed a C++ string to the C function atof. It's either std::stof(dataLine.substr(foundStart, foundEnd - foundStart)); or std::atof(dataLine.substr(foundStart, foundEnd - foundStart).c_str());