2014-03-30 4 views
0
내가 GPX 파일을 사용하여 GPS 프로젝트에서 일하고 있어요

코드가 C이고 내가 Splitdata라는 구조체가 '.':C- 오류 예상 식별자 또는 '('전에 토큰,

// Node Structure for storing Splits Data 
typedef struct SplitData { 
    double selevation[100]; 
    double pace[100]; 
    int splitnumber[100]; 
    int mins[100]; 
    int secs[100]; 
}data; 

를 내가 이 함수에서 그 구조체를 참조하십시오 :

double calculate_tot_dist(struct node *lh){ 
    double lat1 = 0, lon1 = 0; 
    double pathLen = 0; 
    struct node *ptr = lh; 
    double averagePace = 0; 
    double elevationchange = 0; 
    int kilocounter = 1; 
    int i =0; 


    struct timeStr tm1,tm2; 


    strcpy(startTimeStr, lh->timeString); 

    while(ptr != NULL){ 
     if (lat1 == 0){ 
      // First node 
      lat1 = ptr->lat; 
      lon1 = ptr->lon; 
      elevationchange = ptr->elevation; 
      ptr = ptr->next; 

     }else 
     { 
      pathLen += haversine_m(lat1, lon1, ptr->lat, ptr->lon); 

      if (((int)pathLen/1000) > kilocounter) 
      { 
      // printf("%d", split->splitnumber[i]); 
      data.splitnumber[i] = kilocounter; 
      data.selevation[i] = ptr->elevation; 
      kilocounter++; 
      i++; 
       } 
      lat1 = ptr->lat; 
      lon1 = ptr->lon; 
      elevationchange = ptr->elevation; 
      ptr = ptr->next; 
     } 


    } 

을 내가 말하는 오류 얻을 코드를 컴파일 할 때 : '.' C- 오류 예상 식별자 또는 '('전에 토큰

을 오류 이 경우 될 이유

data.splitnumber[i] = kilocounter; 
data.selevation[i] = ptr->elevation; 

사람이 볼 수 : 라인에 대해보고되고있다? 감사합니다.

+0

기능 끝 브래킷? – brokenfoot

+0

컴파일러가 줄 번호 –

+1

을 알리는 것을 상상해보십시오. 들여 쓰기 코드를 작성하면 오류를 발견 할 수 있습니다. – brokenfoot

답변

2

이 경우 '데이터'는 변수가 아니라 SplitData 유형입니다 (설명은 http://en.wikipedia.org/wiki/Typedef 참조). 당신이 변수로 '데이터'를 원하는 경우에 당신은 다음과 같은 수정 할 수있는 :

// Node Structure for storing Splits Data 
typedef struct SplitData { 
    double selevation[100]; 
    double pace[100]; 
    int splitnumber[100]; 
    int mins[100]; 
    int secs[100]; 
}; 

SplitData data; 

또는 참조합니다 (calculate_tot_dist() 함수

의 범위에서 다른 변수를 호출 데이터를 정의 난 당신의 코드를 만들어 여기에 컴파일 https://coderpad.io/968894)

관련 문제