Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2012, 12: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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



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