template <class Arg>
Arg min(Arg arg1, Arg arg2){
return arg1 < arg2 ? arg1 : arg2;
}
template <class Arg, class... Args>
Arg min(Arg arg, Args... args){
return min(arg, min(args...));
}
쉽게 하면 요렇게..
Arg min(Arg arg1, Arg arg2){
return arg1 < arg2 ? arg1 : arg2;
}
template <class Arg, class... Args>
Arg min(Arg arg, Args... args){
return min(arg, min(args...));
}
쉽게 하면 요렇게..
이러면 그 머지 min() 오버로드 업다고 에러 뱉지 안아여?
결국 args...가 0일때도 호출하던데... 이거 구름IDE gcc c++14기준!
template <class Arg> Arg min(Arg arg) =delete; 하면 명시적으로 하나 넣을땐 호출 못하게 막을수있져 2개 이상에서 의미있는 함수니까
오 ㄷㄷ 님 천재;;