Я работал с IAR Embedded Workbench, используя язык C.Декларация несовместима
У меня возникли проблемы при разделении моего проекта на обычную основную/.h/.c форму.
Например, если я создаю example.h
#ifndef EXAMPLE_H
#define EXAMPLE_H
void function(int [], int);
#endif
И чем example.c
#include "example.h"
void function (int[] array, int number)
{number = 1; //code
}
Он говорит:
Error[Pe147]: declaration is incompatible with "__interwork __softfp
void function(int *, int)" (declared at line 4 of (path)
Error[Pe141]: unnamed prototyped parameters not allowed when body is present (path)
Error[Pe020]: identifier "number" is undefined (path)
Error while running C/C++ Compiler
'int [] array' ??? Это C, а не Java !!! Кроме того, вы говорите, что используете «обычную форму .h/.c», а затем, где в файле C вы включаете соответствующий файл H? –
Несомненно, это не так. Но это не способ сказать. Расслабься. Для файла c просто посмотрите. – EagleOne
В 'example.h' ваше использование' #ifndef EXAMPLE_H' не нужно, вы можете объявить прототип функции столько раз, сколько хотите, при условии, что они все одинаковы. –