매크로에 전달 된 포인터에서 클래스 유형을 추출하려고합니다. 여기 내가 지금까지 가지고있는 것입니다컴파일시 포인터 유형 결정
template <class CLASS> class getter
{
public:
typedef CLASS type;
};
template <class CLASS> getter<CLASS> func(const CLASS* const)
{
return getter<CLASS>();
}
...
#define GETTYPE(PTR) func(p)::type
...
MyClass *p = new MyClass;
...
GETTYPE(p) myClass;
이것도 가능합니까? 내가 틀린 나무를 짖고 있니?
기본적으로 원하는 것은 템플릿에서 포인터를 제거하는 것입니다. –
'std :: remove_pointer <> :: type'? – ildjarn
네, 그렇지만 포인터 타입이 아닙니다. – cppguy