Visual Studio에서 간단한 조합을 처리 할 수있는 방법이 있습니까? 다음 코드는 g++ -std=c++11
를 사용하여 잘 실행되지만 VS 불평 :조합 멤버가 잘못되었습니다.
유효하지 않은 조합원 - 클래스 "푸"는 다음과 같이
코드가 허용되지 않는 멤버 함수를 가지고 :
struct Foo {
int value;
Foo(int inV = 0) : value(inV) {}
};
union CustomUnion {
CustomUnion(Foo inF) : foo(inF) {}
CustomUnion(int inB) : bar(inB) {}
int bar;
Foo foo;
};
int main() {
CustomUnion u(3);
return 0;
}
Visual Studio에서 이러한 종류의 조합 (예 : 컴파일 옵션)을 지원하는 방법이 있습니까? 아니면 내 코드를 변경해야합니까? 그렇다면 무엇을 변경해야합니까? MSDN에 기재된 바와 같이
빠른 연구에서 발견 한이 주제에 대한 유일한 정보는 [Bjarne Stroustrup의 C++ FAQ, 노동 조합 (일반)] (http://www.stroustrup.com/C++11FAQ.html#unions)에 있습니다. 희망이 당신을 더욱 도움이됩니다. –