2012-01-09 5 views
0

У меня есть класс шаблона (A). Как заставить аргумент шаблона использовать определенную функцию?заставить аргумент шаблона иметь определенный оператор

template <class T> 
class A 
{ 

} ; 

T должен иметь определенную функцию.

Благодаря

+0

C++ - утка. Поэтому просто предположим, что у нее есть эта функция, и если это не означает, что компилятор скажет им, что 'A' отсутствует функция' blahblah' в любом случае. –

ответ

1

Если код шаблона используется функция, компиляция будет уже не в состоянии, если T не имеет его.

Но если ваша цель - предоставить более ясные сообщения об ошибках пользователям A, вы можете использовать статические утверждения на основе checks on T having that member. Обратите внимание, однако, что вы должны watch out for inherited functions.