2015-06-04 60 views
1

我幫一些幫助理解,而我的源代碼,不進行編譯,主要錯誤報告中:nesC的文件

SerialC.nc:43: syntax error before `&' 
SerialC.nc:43: warning: return-type defaults to `int' 
SerialC.nc:43: conflicting types for `startList' 

我在執行我用頭文件的工作來定義我的結構和接口在nesC文件中訪問,我的疑惑之一是關於struct!我可以定義一個像C一樣的結構在nesC中運行嗎?

我的代碼頭文件:

typedef struct { 
    float Knowledge_base[MAX_TAM]; 
    int control; 
}Temp; 

void startList(Temp* knowledge_base); 

void knowledge_base_control(Temp* knowledge_base, float temp_real); 

我的.c文件:

void startList(Temp* knowledge_base){ 
    int i; 
    knowledge_base->control=0; 
    for (i=0; i<MAX_TAM; i++){ 
     knowledge_base[i]=0; 
    } 
}; 

所有聲明,我試圖用實現,在我的nesC的文件,但我得到了一些錯誤之前輸出。

我nesC的文件:

#include "ESA.h" 

Temp knowledge_base_real; 

startList(&knowledge_base_real); 

回答

1

函數定義應該是這樣的:

void startList(Temp* knowledge_base){ 
    int i; 
    knowledge_base->control=0; 
    for (i=0; i<MAX_TAM; i++){ 
     knowledge_base->Knowledge_base[i]=0; // changed here 
    } 
} // remove ; here 

您需要訪問內部knowledge_base結構Knowledge_base陣列。在函數定義結束時刪除;

+0

的Mac,您的幫助ok..thanks,我修改我的文件,但我仍然有同樣的錯誤:/ –

+0

同樣的輸出: 在組件'SerialC': SerialC.nc:43:語法錯誤之前' &' SerialC.nc:43:warning:返回類型默認爲'int' SerialC.nc:43:'startList'的衝突類型 ESA.h:17:先前聲明的'startList' SerialC.nc: 43:警告:數據定義沒有類型或存儲類 –

+0

嘗試在函數定義的末尾刪除';' – Maciej

相關問題