gpt4 book ai didi

c++ - Cygwin 没有编译 stod

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:42:25 25 4
gpt4 key购买 nike

我正在尝试编译这个 example code

#include <iostream>   // std::cout
#include <string> // std::string, std::stod

int main ()
{
std::string orbits ("365.24 29.53");
std::string::size_type sz; // alias of size_t

double earth = std::stod (orbits,&sz);
double moon = std::stod (orbits.substr(sz));
std::cout << "The moon completes " << (earth/moon) << " orbits per Earth year.\n";
return 0;
}

尝试从命令提示符编译

C:\Users\DWane\Documents>g++ -std=c++0x testme.cpp -o out.exe
testme.cpp: In function 'int main()':
testme.cpp:9:18: error: 'stod' is not a member of 'std'
double earth = std::stod (orbits,&sz);
^
testme.cpp:10:17: error: 'stod' is not a member of 'std'
double moon = std::stod (orbits.substr(sz));
^

我运行的是 Windows 8 64 位并且有 g++ (GCC) 4.8.3。

最佳答案

简短的回答是,它是 Cygwin 的 GCC(或 libstdc++)端口中的一个错误。我在 Cygwin 邮件列表中可以找到的唯一消息来自 Jan 29, 2014它只是说:

Did you try the suggestion for the same problem under mingw? It looks like this could be a temporary workaround until the problem is fixed. Just make

sure you try it on /lib/gcc/i686-pc-cygwin/4.8.2/include/c++/bits/basic_string.h if you're building for Cygwin..

众所周知,MinGW 在字符串转换函数方面也存在问题,尽管它与 Cygwin 不同。我的建议是下载 Stephan T. Lavavej 的 64-bit MinGW distribution它带有 GCC 4.9.1 和许多最新的软件包。

关于c++ - Cygwin 没有编译 stod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com