我试图让 to_string(NUMBER)
函数在我的 Ubuntu 计算机上运行数周,但它在 QT 环境或其他任何地方都无法运行。我的代码在我的 Mac osx 上完美运行,但是当我尝试在 Ubuntu 中运行它时,它提示 to_string
没有在范围内声明。对此的任何解决方案将不胜感激。我尝试更新 gcc 编译器,但没有解决问题。请帮忙。
我正在使用 QT Creator 4.8.1,我正在使用 C++ 和最新版本的 Ubuntu。
int Bint::operator*(int temp){
Bint b(to_string(temp));
return ((*this)*b);
}
我在 pro 文件中缺少 QMAKE_CXXFLAGS += -std=c++0x。
最佳答案
它对您不起作用可能有多种原因:也许您需要使用 std::
来限定名称,或者您不支持 C++11。
只要你有 C++11 支持,这行得通:
#include <string>
int main()
{
std::string s = std::to_string(42);
}
要使用 g++ 或 clang 启用 C++11 支持,您需要传递选项 -std=c++0x
。您还可以在这些编译器的较新版本上使用 -std=c++11
。
关于c++ - to_string 未在范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569179/