2014-12-11 4 views
0

이 프로그램은 Contiki 시뮬레이터 Cooja에서 실행됩니다. 호환되지 않는 포인터 유형에서 할당 - Contiki C 프로그램

라인주는 에러이다

n=(known_interest_list[*i].head_neighbour_list); 
  • n
  • head_neighbour_list는 구조체 이웃 형 요소 목록의 헤드 포인터 구조체 인접 * (포인터)이다
  • known_interest_list 구조체 배열입니다.

구조로 정의되는 것은 다음과

uniBroad.c:221:10: warning: assignment from incompatible pointer type [enabled by default]

가 나는 이것이 아주 기본적인 오류가 알고 있지만, 나는 절대적으로 할당 문 양쪽의 데이터 유형은 보장했다 :

struct neighbor { 
    struct neighbor *next; 
    rimeaddr_t addr; 
    int last_rssi, last_lqi; 
    int count; 
    int update_time; 
}; 

struct known_interest{ 
    struct neighbour *head_neighbour_list; 
    int count; 
    int interest_no; 
}; 

struct known_interest known_interest_list[MAX_INTERESTS]; 

오류가 같은. 그래도이 오류는 해결되지 않습니다.

+0

에서 U 목록 구조의 내부에 무엇을 추가있다? –

+0

[경고 : 호환되지 않는 포인터 유형에서 할당] 중복 가능 (0120-337-003) –

+0

질문에 문제를 진단하는 데 필요한 정보가 충분하지 않습니다. . 실제 구조 정의 및 변수 선언을 추가 할 수 있습니다. 당신이 묘사 한 것이 옳은 것처럼 보이므로 문제는 세부 사항에 있어야합니다. – user3386109

답변

0

locales;와 (과) 문제가있는 것 같습니다. 당신이 질문 만 여기에 오타가없는 한, 두 개의 서로 다른 struct neighbo[u]r 유형

struct neighbour *head_neighbour_list // in the known_interest 
struct neighbor *next // in the struct neighbor itself 

가는 known_interest

+0

감사합니다! 바보 같은 실수도 몇 시간 동안 눈치 채지 못했습니다. :( – user3007493