Предположим, у меня есть функция:Есть ли способ дать лучшие ошибки при std :: условном сбое?
template<typename T, typename Dummy =
typename std::enable_if<std::is_integral<T>::value,int>::type >
void foo(T var0, T var1);
Эта функция только создается, если T
некоторый интегральный тип. Единственная проблема заключается в том, что если я попытаюсь использовать его в нецелевом типе, я получаю эту огромную ошибку.
Есть ли способ создать настраиваемую строку ошибок, которая происходит в аналогичном сценарии?
На самом деле, ваш пример даже не работает для меня: http://coliru.stacked-crooked.com/a/edfd2163b75a8b12 –
@BaummitAugen Это не удастся, потому что удвоения не являются целыми – DarthRubik
Я понимаю, что это должно произойти, но это не происходит с gcc и clang. Тб, я не знаю, почему. Может быть, стоит вопрос, если вам все равно. –