このように、テンプレートでデフォルトのパラメーターを使用しようとしています
#include <iostream>
using namespace std;
template <typename S, typename T=int>
S myadd(T a, T b)
{
S tmp = a + b;
return tmp;
}
int main()
{
int a = 1, b = 2;
float i = 5.1, j = 5.2;
cout << myadd<int, int>(i, j);
cout << myadd<float>(a, b);
return 0;
}
次に g++ myadd.cpp
エラーが表示されます:
デフォルトのテンプレート引数は、-std=c++0x または -std=gnu++0x のない関数テンプレートでは使用できない場合があります
なぜこれが起こるのですか?