Использование SFINAE для определения функции-члена [дубликат]
На этот вопрос уже есть ответ:
Можно ли написать шаблон для проверки существования функции? 25 ответов В C ++ 11, чтобы узнать, есть ли у класса функция-членsize
, вы можете определить следующий помощник по тестированию:
template <typename T>
struct has_size_fn
{
typedef char (& yes)[1];
typedef char (& no)[2];
template <typename C> static yes check(decltype(&C::size));
template <typename> static no check(...);
static bool const value = sizeof(check<T>(0)) == sizeof(yes);
};
Есть ли похожая хитрость для этого в C ++ 98 без использования расширений компилятора, таких какtypeof
?