文字列を整数に変換する関数のために、文字列中の空白を削除するためにerase()関数を呼び出します。同じコードはmain()では動作しますが、内部では機能しません。どうすれば修正できますか?"erase"への呼び出しに一致するメンバー関数がありません
int convert(const string &line)
{
for (int i=0;i<line.length();i++)
{
char wh=' ';
if(line.find(wh))
line.erase(find(line.begin(),line.end(),' '));
//cout<<line[i];
}
if(line.length()==0)
return 0;
int a=line[line.length()-1]-'0';
int b=convert(line.substr(0,line.length()-1))*10;
return a+b;
}
'line'は' const'として宣言されています。あなたはそれを変更することはできません。 – songyuanyao
ありがとうございました。 –