(вопрос про "почему именно такая структура классов и параметров шаблонов" - не надо задавать
Мне так нужно.)
пусть изначально имеется такой набор классов
//тип, введённый для возможности специализации шаблона A (см далее)
struct s_VOID
{
};
//A - работает с двумя параметрами
template<class PARAM1,class PARAM2>
struct A
{
PARAM1 m_p1;
PARAM2 m_p2;
//реализация A
//...
};
//B - работает с первым параметром
template<class PARAM1,class T2>
//template<class PARAM1>
struct B
{
PARAM1 m_p1;
//реализация B
//...
};
//C - работает со вторым параметром
template<class T1,class PARAM2>
//template<class PARAM2>
struct C
{
PARAM2 m_p2;
//реализация C
//...
};
объявление трёх переменных с РАЗНЫМИ именами шаблонов
A<int ,char > a;
B<short ,s_VOID> b;
C<s_VOID,long > c;
И ЧЕГО ХОЧЕТСЯ ДОБИТЬСЯ
//тип, введённый для возможности специализации шаблона A (см далее)
struct s_VOID
{
};
объявление трёх переменных с ОДНИМ именем шаблона - A
A<int ,char > a;
A<short ,s_VOID> b;
A<s_VOID,long > c;
для этого нужно как-то так задать специализацию A.
пробую вот так, но компилятор не пропускает
template<class PARAM1,s_VOID m_p2>
struct A
{
PARAM1 m_p1;
//реализация B
//...
};
template<s_VOID m_p1,class PARAM2>
struct A
{
PARAM2 m_p2;
//реализация C
//...
};
что нужно подправить ? Или такая вещь невозможна ?