1
채워에서 사용자를 방지 :표준 : enable_if 및 템플릿 별칭, 내가 지금처럼 템플릿 별칭을 사용하고 표준 : enable_if 매개 변수
template <typename T, typename = typename std::enable_if<std::is_floating_point<T>::value>::type>
using vec2 = std::pair<T, T>;
template <typename T, typename = typename std::enable_if<std::is_floating_point<T>::value>::type>
using vec3 = std::tuple<T, T, T>;
문제는 사람이 vec2<int, any_type>
를 수행하여이를 파괴 할 수있다. 어떻게 이것을 막을 수 있습니까?
implemenetation 세부 정보가 공개되어서는 안됩니다 ... 숨기세요! –
머피 (Murphy), 마키아 벨리 (Machiavelli) 등 누구나 SFINAE 마법이 얼마나 똑똑 하든지 누구나'std :: pair '으로 이것을 뒤집을 수 있습니다. –
위의 주석 추가'//두 번째 템플릿 매개 변수를 수동으로 지정하지 마십시오; 그 일을 망칠거야. " – Sneftel