Je travaillais avec IAR Embedded Workbench en utilisant le langage C.La déclaration est incompatible
J'ai rencontré des problèmes lors de la division de mon projet sous la forme principale/.h/.c habituelle.
Par exemple, si je crée un example.h
#ifndef EXAMPLE_H
#define EXAMPLE_H
void function(int [], int);
#endif
Et qu'un example.c
#include "example.h"
void function (int[] array, int number)
{number = 1; //code
}
Il dit:
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'est C, pas Java !!! De plus, vous dites que vous utilisez le "formulaire habituel .h/.c", alors où dans le fichier C incluez-vous le fichier H correspondant? –
Bien sûr que non. Mais ce n'est pas la façon de le dire. Se détendre. Pour le fichier c, il suffit de regarder. – EagleOne
Dans 'example.h', votre utilisation de' #ifndef EXAMPLE_H' est inutile, vous pouvez déclarer un prototype de fonction autant de fois que vous le souhaitez, à condition qu'ils soient tous les mêmes. –