以下のようなテンプレート化されたクラスを実装しようとしています。
struct Ciccio2 : public T1, public T2, public T3, public T4
{
template<typename TR>
int get(const string& s) const
{
return TR::operator()(s);
}
};
すべてのテンプレート化された引数は、次のサンプル クラスのようなものです
struct AA{
int operator()(const string& s) { return 1;}
};
グローバル抽出関数も使用しようとしていますが、g ++の下のテンプレート関数を使用すると、ビルドエラーが発生します
template<class TA, class T1, class T2, class T3, class T4>
int extract(const Ciccio2<T1,T2,T3,T4>& obj, const string& s)
{
return obj.get<TA>(s);
}
以下のコードは言っていません
expected primary expression before > token
私が実装しようとしていることは正しいですか?