Скажем, у нас есть двойной параметризованный шаблон, например
template<class A, class B>
class Class { .... };
и что существуют специализации для конкретного A
и конкретного B
template<class B> class Class<A1,B> { .... };
template<class A> class Class<A,B1> { .... };
Теперь, когда мне нужно создать экземпляр Class<A1,B1>
, компилятор жалуется на двусмысленность, так как он находит <A,B1>
и <A1,B>
одинаково полезными.
Конечно, проблему можно устранить, добавив специализацию <A1,B1>
, но в моем контексте она будет идентичной <A1,B>
.
Есть ли способ устранить двусмысленность, не повторяя полный <A1,B>
полный код?