gpt4 book ai didi

c++ - .cpp :23: error: cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘int atoi(const char*)’

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

这是我正在尝试运行的基本代码但是我在使用 stoi(它是 c++)时遇到了问题,我不断收到错误消息:

‘stoi’ was not declared in this scope

我尝试了 atoi 和 strtol 却出现了这个错误

.cpp:23: error: cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘int atoi(const char*)’

代码:

using namespace std;

int main(){
string numberGuessed;
int intNumberGuessed = 0;
do {
cout << "Guess a numeber btw 1 - 10: " << endl;
getline(cin, numberGuessed);
intNumberGuessed = atoi(numberGuessed);
cout << intNumberGuessed << endl;
} while(intNumberGuessed != 4);
cout<< "you win" << endl;
return 0;
}

最佳答案

atoi() 函数接受const char* 参数,但您试图将它传递给std::string。像intNumberGuessed = atoi(numberGuessed.c_str());这样写,取指针。

关于第一个错误,关于stoi()未声明——这是因为该函数是在C++11标准中添加的,所以你必须在你的编译器中启用它的支持。 IE。在旧版本的 GCC 中,您可以使用 -std=c++11 选项 (默认启用 since gcc5 C11 is,并且自 gcc6 以来默认启用 C++11 will be enabled)

关于c++ - .cpp :23: error: cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘int atoi(const char*)’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30971933/

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