Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 23.09.2012, 11:03   #1
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию Почему не работает SFINAE

Код:
template <bool Value>
struct bool_keeper {
    static const bool value = Value;
};

template <typename T>
class regular_callable {
private:
    template <typename H> static bool_keeper<true> test (decltype( (*(T*)(0)) () ) *);
    template <typename H> static bool_keeper<false> test (...);
public:
    static const bool value = (decltype(test<T>(0))::value);
};

int main ( ) {
    std::cout << regular_callable<int>::value << std::endl;
}
Цитата:
error: '*(int*)(0)' cannot be used as a function|
Почему здесь не срабатывает SFINAE?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
почему интеренет на Xp не работает, а на семерке работает Lenura Windows 18 04.10.2010 11:04
почему не работает BrYan91 Помощь студентам 0 22.06.2010 21:58
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS