错误:未在此范围内声明'stod'

时间:2013-12-07 05:27:01

标签: c++

我正在开发一个c ++项目,我需要将一个字符串转换为一个double,但我仍然在这个范围内没有声明错误'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;
}

是否有一些我必须包含的库才能使用它? 顺便说一句我在Windows机器x86上使用代码块12.11。

1 个答案:

答案 0 :(得分:1)

这是gcc 4.x的已知错误

启用c ++ 11 stardarts,取决于你的IDE,在CodeBlocks中转到: 设置,编译器 并检查“有g ++遵循c ++ 11 ISO ......” 如果你正在使用gcc编译器;