私の理解では、javaテンプレート定義の拡張と同様に、次のクラスのintとstringの2つの型だけを制限したいと思います。vC++のテンプレートを使用して型を制限する
template<typename T>
typename std::enable_if<std::is_same<T,int>::value || std::is_same<T,string>::value>::type
class ExchangeSort
{
public:
void bubbleSort(T buffer[], int s);
void print(T buffer[], int s);
void bubbleSort(const vector<T>& vec);
};
しかし、私はExchangeSortが定義されていない上記の行のためのエラーを取得しています
ExchangeSort<int>* sortArray = new ExchangeSort<int>;
以下のようにインスタンス化しています。何が問題ですか ?