std::stod 不是 std 的成员

std::stod is not a member of std

本文关键字:std 成员 stod 不是      更新时间:2023-10-16

我无法编译以下代码

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 不是 STD 的成员。

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

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

您还需要

#include <cstdlib>