4
두 템플릿 함수 Add()
및 Subtract()
을 포함하는 클래스 foo
이 있습니다. 비 템플릿 클래스 내에서 여러 템플릿 함수
struct foo
{
template <typename U>
U* Add();
template <typename U>
U* Subtract();
};
는 그들 모두 같은 템플릿 매개 변수
U
을 사용하는 것이 맞습니까? 또한 템플릿 함수 선언 전에 항상
template <typename U>
을 작성해야합니까?
코드가 컴파일 되었습니까? 구성원 함수 템플릿이 선언 된 방식과 관련하여 비 멤버 함수 템플릿과 다른 점은 무엇이라고 생각하십니까? –
@ DietmarKühl 컴파일 된 코드가 코드가 다음과 같이 충분하다는 증거가 아닙니다. 올바른 b. 의도 한대로 작동합니다. – SergeyA
@SergeyA : 참. 그러나 예를 들어 완전히 다른 두 개의 컴파일러를 사용하고 두 코드가 모두 삼키는 지 확인하는 것은 상황이 정상임을 나타내는 것입니다. 또한, 그것은 여전히 남아 있습니다 : 비 멤버 함수 템플릿과 비교할 때 상황이 다른 이유는 무엇입니까? –