Declaration is incompatible
13,724
Solution 1
You use wrong syntax. Look at
void function (int array[], int number)
{ number = 1; //code
}
Solution 2
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
.
Author by
EagleOne
Updated on June 22, 2022Comments
-
EagleOne almost 2 years
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
-
cremno over 8 years
void function(int [], int);
isn't the problem. It's actually valid C.