template <typename T> void function(T arg1,
T min = std::numeric_limits<T>::min(),
T max = std::numeric_limits<T>::max())
{
}
template <> void function<int>(int arg1, int min,int max)
{
}
int main(int argc,char* argv[])
{
function<int>(1);
}
::
토큰의 함수 기본 인수 행에서 구문 오류 C2689 및 C2059를 제공합니다. 하지만 전문화하지 않고 잘하고 있습니다. 나는 기본 인수 을 변경하고 여전히 전문화하고있는 경우 : 너무 사라템플릿 함수 특수화 기본 인수
template <typename T> void function(T arg1,
T min = T(0),
T max = T(1))
{
}
template <> void function<int>(int arg1, int min,int max)
{
}
문제를.
또는 function<float>(1.0f)
괜찮 으면 템플릿 기능이 특수화 된 경우 전화 할 때 기본 인수를 다시 작성해야합니다.
std::numeric_limits<T>::..
으로 바꾸고 두 번째 경우 T(..)
으로 바꾸고 function<int>(1)
을 호출 할 때 이유가 무엇입니까? 원래의 문제로
(I'am 사용하여 비주얼 스튜디오 2010의 x64)
는 버그, 문제는 지금 로 변경하기 때문에 그것을 어떻게 해결하는 것입니다?
어떻게이 버그를 Microsoft에 신고합니까? – uray
@uray : 나열된 버그 보고서 링크를 통해 connect.microsoft.com에 제출할 수 있습니다. 로그인하여 새 결함을 열어야합니다. 원하지 않으시면이 문제와 이전에 공동 샘플로보고 한 문제를 줄이고 문제를 다시 제출하도록 노력하겠습니다. 알려주세요. 기꺼이 도와 드리겠습니다. –
지금 버그를보고하고 있습니다. – uray