std :: stod不是std的成员

时间:2016-03-01 00:29:57

标签: c++ c++11 std

我无法编译以下代码

auto test = 42.02;
double right = std::stod(stck.top());

我正在使用Code :: Blocks并激活构建选项以遵循c ++ 11标准。当我将下面的行放在注释中时,编译器不会抱怨自动声明和编译。

我包含了字符串标题。我没有使用命名空间。

我不知道为什么这不编译。请帮我! 编辑: 我的编译器是标准MinGW GCC 4.9

为简单起见,我尝试了以下方法:使用-std = c ++ 11编译

#include <string>

int main(){
     double pi = std::stod("3.14");
     return 0;
}

我收到以下错误:

错误:stod不是标准的成员。

2 个答案:

答案 0 :(得分:1)

std::stod仅在您至少使用std=c++11进行编译时才可用。因此,在编译时,只需添加标记-std=c++11,您就可以使用stod

答案 1 :(得分:0)

好像你很可能拼写错误std::strtod()

您还需要

#include <cstdlib>