-4
std :: functionメソッドを使用してC++ 11スタイルの関数ポインタを見つけました。次のシナリオは関数ポインタの古いメソッドでうまく動作しますが、新しいthingieで失敗します。関数の返り値としてstd :: functionを使用する
#include <functional>
using namespace std;
function<int(int,int)> arithmeticFcn;
int add(int x,int y)
{
return x + y;
}
arithmeticFcn getOperation(char op)
{
switch (op) {
case '+':
return add;
break;
default:
return add;
break;
}
}
int main()
{
int x = 10,y = 20;
char op1;
cin >> op1;
arithmeticFcn Fcn = getOperation(op1);
cout << Fcn(x,y) << endl;
return 0;
}
何か問題がありますか?
'arithmeticFcn'が型を指していません。 –
'return;壊す; '? 'break 'には決して到達しません。 –
_ "新しいシナリオではシナリオ[..]が失敗します。" _これは受け入れ可能な問題記述ではありません。 –