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.

Share:
13,724
EagleOne
Author by

EagleOne

Updated on June 22, 2022

Comments

  • EagleOne
    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
    cremno over 8 years
    void function(int [], int); isn't the problem. It's actually valid C.