Что такое хороший способ вызвать функцию-член типа шаблона?Будет ли приведенный ниже код foo()
компилироваться только для типов, для которых определена функция bla()
?
class A { void bla(); };
template<typename T>
void foo() {
T t;
t.bla();
}
int main() {
foo<A>();
return 0;
}
Могу ли я использовать boost::enable_if
только для определения этой функции для типов, которые имеют метод bla()
?Если да, это даже хорошая идея?Я полагаю, что идея «концепций» (о которой я ничего не знаю), возможно, и должна использоваться здесь.