std::stod 不是 std 的成员

std::stod is not a member of std

我无法编译以下代码

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

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

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

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

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

编译
#include <string>

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

我收到以下错误:

错误:stod 不是 std 的成员。

看来你很可能拼错了 std::strtod()

您还需要

#include <cstdlib>

std::stod 仅在您至少使用 std=c++11 进行编译时才可用。所以,编译的时候只要加上flag -std=c++11 就可以使用stod