パブリック テンプレート メソッドを持つクラスがあります。このクラスには、クラス テンプレートを介して渡したい 2 つの動作戦略があります。
template<class Strategy>
class SomeClass {
public:
template<class B>
void ProcessType(){}
};
// And do something like this:
SomeClass<Strategy1> sc();
sc.ProcessType<SomeClassType>();
sc.ProcessType<SomeClassType2>();
SomeClass<Strategy2> sc2();
sc2.ProcessType<SomeClassType>();
sc2.ProcessType<SomeClassType2>();
しかし、このコードはコンパイルされません。このように使用法を正確に保つ必要があります(戦略を介して操作するため)。