Ошибка: 'stod' не был объявлен в этой области
Я работаю над проектом для C++, и мне нужно преобразовать строку в двойную, но я продолжаю получать сообщение об ошибке 'stod', которая не была объявлена в этой области. Поспешные ответы будут с благодарностью!
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <vector>
using namespace std;
struct Station
{
string StationID, StationName;
double Elevation, Latitude, Longitude;
int Date, MXPN, MaxTemp, MinTemp, ObsTime;
};
int main()
{
//Initial Variables
ifstream InputFile;
vector<Station> Entry;
string DummyLine, TempLine;
double TempDouble;
int Counter = 0;
InputFile.open("finalc++.csv");
getline(InputFile, DummyLine);
while (InputFile.good())
{
Entry.push_back(Station());
getline(InputFile, TempLine);
stringstream ss (TempLine);
getline(ss, DummyLine, ',');
Entry[Counter].StationID = DummyLine;
getline(ss, DummyLine, ',');
Entry[Counter].StationName = DummyLine;
getline(ss, DummyLine, ',');
Entry[Counter].Elevation = stod(DummyLine);
Counter++;
}
for (int i = 200; i <= 500; i++)
{
cout << Entry[i].StationID << endl;
cout << Entry[i].StationName << endl;
}
return 0;
}
Есть ли какая-то библиотека, которую я должен включить, чтобы иметь возможность использовать ее? Кстати, я использую кодовые блоки 12.11 на машине с Windows x86.
1 ответ
Это известная ошибка в gcc 4.x
Включение стандартных C++11, в зависимости от вашей IDE, в CodeBlocks, перейдите по ссылке: settings, compiler и проверьте, "чтобы g++ следовал ISO C++11...", если вы используете компилятор gcc;