gpt4 book ai didi

c++ - Stoi 未在范围内声明 - Code::blocks

转载 作者:行者123 更新时间:2023-11-30 01:12:27 38 4
gpt4 key购买 nike

编辑:我试图通过在编译器标志中单击“让 g++ 遵循 C++11 ISO C++ 语言标准”来告诉它使用 C++11。

我发现 stoi 未在范围内声明,我已将 c++11 添加到 Code::Blocks; 我已在设置 -> 编译器 -> 编译器标志中添加兼容性,但它仍然不断给我这个错误。

当我尝试执行 atoi 或 strtol 时,出现以下错误:

C:\Users\user\Desktop\Programming\NewProject\main.cpp|19|error: cannot convert 'std::string {aka std::basic_string}' to 'const char*' for argument '1' to 'long int strtol(const char*, char**, int)'|

我的代码:

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <cstdlib>

using namespace std;

int main()
{

string numberGuessed;
int numberGuessedint = 0;

do {

cout << "Guess a number between 1 and 10: ";
getline(cin, numberGuessed);
numberGuessedint = stoi(numberGuessed);
cout << numberGuessedint << endl;


} while(numberGuessedint != 4);

cout << "You win!" << endl;

return 0;

}

最佳答案

这是与 Code::Blocks 捆绑在一起的 MinGW 中的一个已知错误。

您可以应用补丁:http://tehsausage.com/mingw-to-string

或者下载新版本的 MinGW(最好有线程支持,因为你也缺少它)并替换你现在拥有的。

关于c++ - Stoi 未在范围内声明 - Code::blocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34243888/

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