У меня есть класс шаблона (A). Как заставить аргумент шаблона использовать определенную функцию?заставить аргумент шаблона иметь определенный оператор
template <class T>
class A
{
} ;
T должен иметь определенную функцию.
Благодаря
У меня есть класс шаблона (A). Как заставить аргумент шаблона использовать определенную функцию?заставить аргумент шаблона иметь определенный оператор
template <class T>
class A
{
} ;
T должен иметь определенную функцию.
Благодаря
Если код шаблона используется функция, компиляция будет уже не в состоянии, если T
не имеет его.
Но если ваша цель - предоставить более ясные сообщения об ошибках пользователям A
, вы можете использовать статические утверждения на основе checks on T
having that member. Обратите внимание, однако, что вы должны watch out for inherited functions.
C++ - утка. Поэтому просто предположим, что у нее есть эта функция, и если это не означает, что компилятор скажет им, что 'A' отсутствует функция' blahblah' в любом случае. –