Специализация шаблона класса шаблонным параметром
От: NikolayVoronetskiy Россия  
Дата: 29.02.12 06:48
Оценка:
Искомое решение для функции выглядит так:

template<class T> class TestTemplate;
class TestClass;

template<class T> void Foo(){ std::cout << "class\n"; }
template<template<class> class T> void Foo(){std::cout << "template<class>\n";

...

Foo<TestTemplate>();
Foo<TestClass>();


Задача в том, чтобы таким же образом специализировать шаблон класса, грубо говоря:


template<class T> class TestTemplate;
class TestClass;

template<class T> class Bar { static void print(){std::cout << "class\n";} };
template<template <class> class T> class Bar { static void print(){std::cout << "template<class>\n";} };

...

Bar<TestTemplate>::print();
Bar<TestClass>::print();


Не выходит каменный цветок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.