Сообщение Перегрузка шаблонной функции от 16.02.2017 12:52
Изменено 16.02.2017 13:18 Videoman
Перегрузка шаблонной функции
Вроде бы простая вещь, но не могу придумать простое решение:
нужно перегрузить свободную функцию Test принимающую один аргумент, в зависимости от того есть ли у класса внутри тип some_tag (ну или подобный триггер).
т.е. хочется, чтобы шаблонная функция существовала в двух видах. Первый для A1 и A2, а второй для B1 и B2. Что-то торможу, помогите пожалуйста. Желательно в рамках подмножества стандарта VS2013 и С++11.
нужно перегрузить свободную функцию Test принимающую один аргумент, в зависимости от того есть ли у класса внутри тип some_tag (ну или подобный триггер).
class A1
{
...
};
class A2
{
...
};
class B1
{
...
typedef void sime_tag;
...
};
class B2
{
...
typedef void sime_tag;
...
};
Test(A1());
Test(A2());
Test(B1());
Test(B2());
т.е. хочется, чтобы шаблонная функция существовала в двух видах. Первый для A1 и A2, а второй для B1 и B2. Что-то торможу, помогите пожалуйста. Желательно в рамках подмножества стандарта VS2013 и С++11.
Перегрузка шаблонной функции
Вроде бы простая вещь, но не могу придумать простое решение:
нужно перегрузить свободную функцию Test принимающую один аргумент, в зависимости от того есть ли у класса внутри тип some_tag (ну или подобный триггер).
т.е. хочется, чтобы шаблонная функция существовала в двух видах. Первый для A1 и A2, а второй для B1 и B2. Что-то торможу, помогите пожалуйста. Желательно в рамках подмножества стандарта VS2013 и С++11.
нужно перегрузить свободную функцию Test принимающую один аргумент, в зависимости от того есть ли у класса внутри тип some_tag (ну или подобный триггер).
class A1
{
...
};
class A2
{
...
};
class B1
{
...
typedef void some_tag;
...
};
class B2
{
...
typedef void some_tag;
...
};
Test(A1());
Test(A2());
Test(B1());
Test(B2());
т.е. хочется, чтобы шаблонная функция существовала в двух видах. Первый для A1 и A2, а второй для B1 и B2. Что-то торможу, помогите пожалуйста. Желательно в рамках подмножества стандарта VS2013 и С++11.