2011-07-17 4 views
0

struct를 초기화하는 이상한 컴파일러 오류가 발생합니다.struct를 사용할 때 컴파일러 오류

#include <stdio.h> 
#include <unistd.h> 
#include <stdlib.h> 
#include <string.h> 

struct RadarData 
{ 
    unsigned int messageID : 32; 
    unsigned int time : 32; 
    float az; 
    float el; 
}; 
struct RadarData sendData; 

sendData.az = 25; 
sendData.el = 10; 
sendData.messageID = 1; 
sendData.time = 100; 

이 몇 가지 튜토리얼에 따라 나에게 잘 보이지만, 컴파일 할 때 두 개의 서로 다른 시스템에서, 나는 다음과 같은 오류를 받고 있어요 :

testserver.c:15:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘.’ token
testserver.c:16:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘.’ token
testserver.c:17:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘.’ token
testserver.c:18:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘.’ token

을 왜이 오류는 무엇입니까?

+0

전체 코드 스 니펫을 붙여 넣을 수 있습니까? 어떤 기능을 포함하여이 ..에 나타납니다 .. – yan

+0

줄 번호를 봐 -이 _is_ 그의 실제 코드 (나는 그가 잠시 동안 기능을 잊어 버린 것 같아요,하지만 아마도 ...) – bdonlan

답변

9
sendData.az = 25; 

이러한 문은 함수 내에 있어야합니다. 다음 함수의 외부 문을 배치하고,

struct RadarData sendData = { 25, 10, 1, 100 }; 
3

내가 당신의 코드를 잘 찾고 있어요 경우 (그리고 그 전체 관련 코드의) : 당신이 구조체를 초기화하려면, 그것을 위해 다른 구문있다 . 그건 맞지 않습니다.