std::pair에서 통합을 초기화할 수 없습니다.
나는 이런 종류의 typedef를 가지고있다
enum EValueType
{
Int,
Double,
Variable,
Unknown
};
union UValueContainer
{
int __int;
double __double;
double* __variable;
};
typedef std::pair<EValueType, UValueContainer> variant;
variant
유형 속성을 가져오는 생성자가 있는 기본 클래스가 있습니다.
class fooBase
{
fooBase(variant attribute);
...
}
기본 클래스 생성자의 인수를 초기화해야 하는 생성자가 있는 파생 클래스.
class fooDerived : public fooBase
{
fooDerived(double* value) : fooBase({Variable, UValueContainer{.__variable = value}}
}
내가 어떻게 해?
@DeiDei가 내 게시물에 댓글을 달았듯이 저는 각 유형에 대해 생성자를 선언/정의했습니다. 이제 문제가 해결되었습니다. 하지만 이 문제를 해결할 수 있는 다른 방법이 없는지 확인하고 싶습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다