문제

다음과 같은 수업이있는 경우 :

typedef union { __m128 quad; float numbers[4]; } Data

class foo
{
public:
    foo() : m_Data() {}

    Data m_Data;
};

그리고 다음과 같은 수업 :

class bar
{
public:

   bar() : m_Data() {}

   foo m_Data;
}

BAR 인스턴스를 만들 때 Foo의 생성자가 호출됩니까?

내가 사용하려고 할 때 bar'에스 m_Data'에스 quad 안에 bar 값이 있지만 초기화되지 않은 것 같습니다. numbers[4]. :\

구체적으로, 이것은 충돌이 발생합니다.

m_Data.quad = _mm_mul_ps(m_Data.quad, a_Other.m_Data.quad)

모든 도움이 감사하겠습니다. :)

도움이 되었습니까?

해결책

당신은 당신의 생성자를 선언해야합니다 public, 그렇지 않으면, 당신은 당신이 그것을 private 회원.

다른 팁

나에게 좋아 보인다. FOO 및 BAR은 생성자가 있기 때문에 POD 유형이 아니므로 구성 후 구성원이 초기화 될 수 있습니다.

나중에 메모리 누출을 통해 데이터가 덮어 쓰기일까요?

막대 인스턴스를 어떻게 만드나요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top