Is it something I totally misunderstand. To figure out the size of a const char array I use sizeof(array)-1. Works fine when array is defined in the file where sizeof is used but when used as a external in a header file I get an error. Ide/compiler is Codewarrior version 11.0. I attached the project with the error.
Thanks
Per Højfeldt
Without error.
With error.
Solved! Go to Solution.
I think I figured out the problem. Use of sizeof() can not be used with an external because the compiler at compile time do not know the size of an external array. Correct me if I'm wrong. Make sense. The solution to the problem is to make a function with sizeof() where the array is defined and then make the function an external. That should work.
Example that can be declared external.
signed char const caArray[] = "1234";
unsigned char arrsize(void)
{
return sizeof(caArray)-1;
}
Per Højfeldt
I think I figured out the problem. Use of sizeof() can not be used with an external because the compiler at compile time do not know the size of an external array. Correct me if I'm wrong. Make sense. The solution to the problem is to make a function with sizeof() where the array is defined and then make the function an external. That should work.
Example that can be declared external.
signed char const caArray[] = "1234";
unsigned char arrsize(void)
{
return sizeof(caArray)-1;
}
Per Højfeldt