У меня есть структура класса,
template<int T>
class MyClass {
public:
MyClass(){};
~MyClass(){};
template<class K> void foo();
};
Теперь я хочу специализировать метод foo()
на основе значения целого числа, используемого в MyClass<int>
, например, если int в коде, который мы имеемMyClass<2>
Я хочу использовать другую версию foo<K>()
, если бы у меня был MyClass<3>
.Тем не менее, я хочу иметь foo<K>()
неспециализированных на K
.
Так что это будет означать что-то вроде этого будет хорошо
MyClass<2> myc2;
MyClass<3> myc3;
myc2.foo<SomeClass>();
myc2.foo<SomeOtherClass>();
myc3.foo<SomeClass>();
myc3.foo<SomeOtherClass>();
Можно ли специализироваться таким образом, но неспециализируешься на K
?Я попробовал несколько комбинаций безуспешно.