와 형식 정의가 나는 오류가 라인 로프 Z =에 있습니다구조체 이니셜 라이저, 비주얼 스튜디오
typedef struct {
float x, y;
} complexf;
typedef union {
complexf f;
long long d;
} rope;
int main(void)
{
complexf a;
rope z = {a};
}
비주얼 스튜디오와 함께 작동하지 않는 다음과 같은 이유 {A}, 떠 complexf에서 변환 할 수 없습니다 궁금합니다. 노동 조합의 첫 번째 구성원이 typedef가 아니면 작동합니다. 이것은 컴파일러 버그입니까, 아니면 C의 어두운 가장자리입니까?
VS 6.0
고마워. 나는 이것이 괜찮다는 것에 다소 놀랐다. 로프 z; z.f = a; –
당신은 정확히 무엇에 대해 놀랐습니까? 전체 구조체를 할당 할 수 있습니까? 그것은 완벽하게 유효합니다 (유니온은 물론 배열은 아닙니다). – Christoph