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

error: 'stod' was not declared in this scope

本文关键字:stod 声明 范围内 错误      更新时间:2023-10-16

我正在为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;
}

有没有一些图书馆我必须包括才能使用它?顺便说一句,我在windows机器x86上使用代码块12.11。

这是gcc 4.x 的一个已知错误

启用c++11标准,取决于您的IDE,在CodeBlocks中转到:设置,编译器并检查"让g++遵循c++11 ISO…"如果您使用的是gcc编译器;