Problem with Array Init

Hello,

I’m having a problem initializing an array, I call a function

abIPdefault();

and that function is:

/*** BeginHeader    abIPdefault*/ 
void abIPdefault(void); 
/*** EndHeader */  
nodebug void abIPdefault(void) 
{
   eip_iaddr[] = {192,168,0,5};
   eip_maddr[] = {255,255,255,0};
   eip_gaddr[] = {192,168,0,1}; 
}

but I get errors:

line  155 : ERROR ANYBUS.LIB   : Dynamic C cannot initialize auto variables. Assign on a separate statement. 
line  156 : ERROR ANYBUS.LIB   : Missing character ';'. 
line  156 : ERROR ANYBUS.LIB   : Missing character ';'. 
line  156 : ERROR ANYBUS.LIB   : Missing character ']'. 
line  156 : ERROR ANYBUS.LIB   : Invalid expression.
line  156 : ERROR ANYBUS.LIB   : Missing character ';'.
line  157 : ERROR ANYBUS.LIB   : Syntax error - or garbage at end of program. 
line  157 : ERROR ANYBUS.LIB   : Need function definition or declaration. 
line  157 : ERROR ANYBUS.LIB   : Syntax error - or garbage at end of program. 
line  157 : ERROR ANYBUS.LIB   : Need function definition or declaration. 
10 errors reached; further errors suppressed.

Everything looks good to me I can’t see the problem. if I comment out the call then it compiles just fine so that rules out a problem elsewhere pointing here by mistake.

Can anyone see what I’ve missed?

Hello,

You have to declare eip_iaddr[] ,eip_maddr[],eip_gaddr[] as a unsigned char type. like

unsigned char eip_iaddr[] = {192,168,0,5};
unsigned char eip_maddr[] = {255,255,255,0};
unsigned char eip_gaddr[] = {192,168,0,1};