以下の簡単なプログラムをコンパイルしようとすると、コンパイル エラーが発生します。
error: ‘stoi’ was not declared in this scope
#include <string>
両方を含めようとしましたが、#include <string.h>
まだこれらの問題が発生しています。私は Ubuntu を使用しており、g++ をどのようにインストールしたか思い出せませんが、apt-get install g++ コマンドを使用していたことは確かなので、使用している g++ または C++ ライブラリのバージョンはわかりません。
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
struct Data
{
string fname;
string lname;
int age;
};
int main()
{
bool toContinue = true;
Data data;
string buffer;
do
{
try
{
getline(cin,data.fname);
getline(cin,data.lname);
getline(cin,buffer);
data.age = stoi(buffer);
cout<<data.fname<<" ";
cout<<data.lname<<" ";
cout<<data.age<<endl;
}
catch(std::invalid_argument)
{
cerr<<"Unable to parse integer";
}
}while(toContinue);
return 0;
}
私の目標は、ユーザーが変数のいずれかにジャンクを入力した場合に例外処理を使用できるようにすることです。