1

当我的源代码无法编译时,我帮助理解了一些帮助,主要的错误报告是:

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

在我的实现中,我正在使用头文件来定义要在 nesC 文件中访问的结构和接口,我的疑问之一是结构!我可以定义像 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);
4

1 回答 1

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;在函数定义的末尾删除。

于 2015-06-04T20:43:27.137 回答