가상 멤버 함수 포인터에 decltype
을 사용하는 것이 맞습니까?가상 멤버 함수 포인터와 함께 decltype 사용
다음은 VS2012에서 내부 오류 (C1001)를 생성합니다.
struct C
{
virtual void Foo() {}
typedef decltype(&C::Foo) type; //pointer
}
그러나 이것은 잘 컴파일 :
struct C
{
virtual void Foo() {}
typedef decltype(C::Foo) type; //not pointer
}
이 버그인가요?
내부 오류가 아니라 "오류"메시지가 생성되는 것은 "불법"이었습니다. 컴파일러에서 버그를 발견했습니다. – AnT
@ AndreyT : +1, 나는 그것을 추가 할 것이다 : * 그것이 불법이라도 내부 오류를 일으키지 않아야한다 *. –