반응형
C2064 항은 2개의 인수를 받아들이는 함수로 계산되지 않습니다.
평소에는 min 혹은 max를 비교할 때 ans_min과 ans를 두고 둘을 비교하며 변경하는 식으로 계산하는걸 선호하는데
https://www.acmicpc.net/problem/1459
자료형이 long이구,,, ans_min을 무슨 값을 디폴트 값으로 둬야하는지 감이 안잡혀서
ans_1
ans_2
ans_3 이런 식으로 값들을 구한 후 이 중에서 가장 작은 값을 구하기 위해
min(ans_1, ans_2, ans_3)을 사용했는데
'항은 2개의 인수를 받아들이는 함수로 계산되지 않습니다.' 라는 오류가 발생했다. 몬말이지...
template <class _Ty, class _Pr>
_NODISCARD constexpr const _Ty&(min)(const _Ty& _Left, const _Ty& _Right, _Pr _Pred) noexcept(
noexcept(_Pred(_Right, _Left))) /* strengthened */ {
// return smaller of _Left and _Right
return _Pred(_Right, _Left) ? _Right : _Left;
오류를 클릭해서 min 탬플릿에 들어가보니...
_Right, _Left로 2개의 항만 비교를 한다는걸 알 수 있었다.
파이썬에서 넘어온 나에게 이것은 너무 가혹해,,,구냥 젤 작은거 출력해달라,,,
cout << min(ans_1, min(ans_2, ans_3));
일단 꼼수로 이런식으로 해결했다!
반응형
'study > C++' 카테고리의 다른 글
C++ 하나의 프로젝트에서 여러 소스파일을 디버깅 해보자 (0) | 2022.01.07 |
---|---|
C++ 조건문을 만들어보자 (0) | 2021.12.30 |
C++ 반복문을 만들어보자 (0) | 2021.12.30 |
C++ 입력을 받고 출력을 해보자 (0) | 2021.12.30 |
비주얼 스튜디오 2019 C++ 시작하기 (0) | 2021.12.30 |