Declaration is incompatible

EagleOne picture EagleOne · Oct 13, 2015 · Viewed 10.9k times · Source

I was working with IAR Embedded Workbench, using C language.

I had some trouble while dividing my project into the usual main/.h/.c form.

For example, if i create an example.h

#ifndef EXAMPLE_H
#define EXAMPLE_H
void function(int [], int);
#endif

And than an example.c

#include "example.h"
void function (int[] array, int number)
{number = 1; //code
}

It says:

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 

Answer

i486 picture i486 · Oct 13, 2015

The problem is in void function(int [], int). Change to void function(int name[], int) or void function(int *, int). Another error is in int[] array - it has to be int array[] or int * array.