반응형

QT를 이용하여, 개발을 하다 보면 자주 만나는 메시지다.

 

QVariant와 같은 QT에 미리 지정된 템플릿 클래스를 이용하다 보면 위와 같은 에러 메시지를 종 종 볼 수 있는데,

사용자 정의 클래스/타입이 미리 선언되어있지 않아 발생하는 오류다.

 

enum ENUM_TYPE {
	ENUM_1,
    ENUM_2
}


QVariant v;
v.value<ENUM_TYPE>(); // 에러

 

이는  헤더 파일에 Q_DECLARE_METATYPE(TypeName)  과 같이 작성하면 해당 문제는 해결된다.

 

enum ENUM_TYPE {
	ENUM_1,
    ENUM_2
}

Q_DECLARE_METATYPE(FSStatus);

QVariant v;
v.value<ENUM_TYPE>();

 

반응형

댓글을 달아 주세요