我正在尝试编写一个函数,该函数将字符串数组作为参数,将其转换为 int 数组,然后返回新数组。我认为使用“Atoi”会很简单,但显然你不能像我尝试的那样使用它。
到目前为止,这是我的代码。
int GameHandler::convertToInt(string array[])
{
int tmp=0;
string arr[20]=array;
int values[20];
for(int i=0;i<20;i++)
values[i]=0;
for(int i=0;i<20;i++)
{
tmp=atoi(arr[i]);
values[i]=tmp;
}
return values;
}
这是我从编译器得到的错误消息:
GameHandler.cpp:在成员函数'int GameHandler::convertToInt(std::string*)'中:GameHandler.cpp:60:20:错误:从'std::string* {aka std::basic_string*}'转换为非标量类型“std::string {aka std::basic_string}”请求 GameHandler.cpp:67:24:错误:无法将“std::string {aka std::basic_string}”转换为“const char*”参数'1'到'int atoi(const char *)'GameHandler.cpp:71:12:错误:从'int *'到'int'的无效转换[-fpermissive] GameHandler.cpp:61:9:警告:地址返回的局部变量“值”[默认启用]