файлы nesC с использованием функций файла C

Я помогаю понять, пока мой источник не компилируется, основные отчеты об ошибках:

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);

person Community    schedule 04.06.2015    source источник


Ответы (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. Удалите ; в конце определения функции.

person Maciej    schedule 04.06.2015
comment
Mac, хорошо... спасибо за помощь, я изменяю свои файлы, но у меня все еще есть те же ошибки :/ - person ; 04.06.2015
comment
Тот же вывод: в компоненте SerialC': SerialC.nc:43: syntax error before &' SerialC.nc:43: предупреждение: возвращаемый тип по умолчанию равен int' SerialC.nc:43: conflicting types for startList' ESA.h:17: предыдущее объявление `startList' SerialC.nc:43: предупреждение: определение данных не имеет типа или хранилища учебный класс - person ; 04.06.2015
comment
Попробуйте удалить ; в конце определения функции. - person Maciej; 05.06.2015
comment
Мак, у тебя есть какие-то другие идеи по этому поводу? :) - person ; 05.06.2015
comment
Привет, Alezinha, у меня не установлен nesC, поэтому я не могу с ним поиграться. Я знаю, что то, что вы пытаетесь сделать, возможно. У некоторых других людей были похожие проблемы. Возможно, эти ссылки помогут вам. millennium.berkeley.edu/pipermail/tinyos-help/ 2011 – январь/ и millennium.berkeley .edu/pipermail/tinyos-help/2010-октябрь/ - person Maciej; 05.06.2015