:C++에서 템플릿 반환 유형 함수는 어떻게 작동합니까? 다음 예에서
template<typename T>
T Get()
{
T t = 10;
return t;
}
int main()
{
int i = Get<int>(); // will work
float f = Get<float>(); // will work
}
기능 오버로드는 다른 반환 형식이 작동하지 않습니다. 그렇다면이 경우 컴파일러는 무엇을 생성합니까?
코드에 많은 오류가 있기 때문에 컴파일러는 아무 것도 생성하지 않습니다. –
@NeilButterworth 오류를 생성하는 코드에는 정확히 한 줄의 문자열 ('i' 재사용과 형식 지정없이'Get')이 있습니다.이 줄은 컴파일되지 않습니다. 사람들은 일반적으로 동시에 사용할 수있는 것이 아닌 작동하는 사례와 그렇지 않은 사례를 보여주는 여러 병렬 선을 작성합니다.이 선은이 질문에 분명하게 표기되어 있습니다. 그래서 저는 그것이 공정한 비판이라고 생각하지 않습니다. – jwimberley