Главная / Программирование на С/С++ /

//====================== start of sample.cpp ========================== template<typename T> typename T::difference_type my_diff( T& v1, T& v2); template<typename T> T my_diff2(T& v1, T& v2); class A { public: A(int in = 5); typedef short difference_type; difference_type operator-(A&); }; int main() { A i(5); A j(10); my_diff(i,j); int x = 5; int y = 10; my_diff(x,y); return 0; } //====================== end of sample.cpp ========================== ]]>Какие проблемы может решить использование идиомы SFINAE в вышеприведённом коде?

вопрос

Правильный ответ:

проверка соответствия тела функции и необходимых методов класса
исключение из списка подстановки для типа А перегрузок, которые не используют тип T::difference_type
получение ошибки компиляции при отсутствии в шаблоне типа T::difference_type
избежание ошибок компиляции, которые могут случиться при перегрузке функции неподходящим шаблоном
Сложность вопроса
79
Сложность курса: Программирование на С/С++
94
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Зачёт защитил. Бегу кутить отмечать 5 за тест интуит
06 ноя 2020
Аноним
Это было сложно
07 май 2019
Аноним
Если бы не данные ответы - я бы не справился c этими тестами интуит.
04 мар 2019
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.
WordPress Security by Sucuri. MiniFB Template. © Vtone