저는 최근에 클래스 초기화 및 초기화 프로그램 목록에서 같은 시간에 가질 수없는 것을 발견했습니다. 다음 코드는 실패클래스 초기화 및 이니셜 라이저 목록
struct s
{
int i=0;
};
int main() {
s s1; //s1.i = 0
//s s2={42}; //fails
return 0;
}
내가 클래스 초기화에서 제거하면 초기화리스트는 잘 작동!
누군가 그런 이유가 허용되지 않는 이유를 설명해 줄 수 있습니까?
C++ 11 모드로 컴파일 하시겠습니까? 컴파일러에 실제로 구현되어 있습니까? 어떤 컴파일러와 어떤 버전이 있습니까? –