错误:未在此范围内声明'stod'
error: 'stod' was not declared in this scope
我正在为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编译器;
相关文章:
- .cpp和.h文件中的模板专用化声明
- 未在作用域中声明unordered_map
- C++避免重复声明的语法是什么
- 如何确保C++函数在定义之前声明(如override关键字)
- 错误:未在此范围内声明'reverse'
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 为什么在定义函数之前先声明它
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- #ifdef和未声明的标识符
- 没有显式声明的int[]中的foreach
- 在基于范围的for循环中使用结构化绑定声明
- 在将变量声明为引用时,堆在释放后使用
- C++:无法访问声明的受保护成员
- 为什么我不能在一个类的不同行中声明和定义成员变量?
- 我不明白为什么我声明一个空的内部结构并将其传递给构造函数
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 为什么即使在启用 C++11 并且我包含字符串之后,'stod'仍然没有在此范围内声明?
- G++ 'stod'未在此范围内声明
- 错误:未在此范围内声明'stod'
- NDK 编译错误:未在此范围内声明'stod'