文字列配列をパラメーターとして取り、それを int 配列に変換し、新しい配列を返す関数を作成しようとしています。「アトイ」を使えばかなり簡単だと思っていたのですが、どうやら私が試したようには使えないようです。
これまでの私のコードは次のとおりです。
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: 警告: アドレス返されるローカル変数の「値」の数 [デフォルトで有効]