I take it using sizeof() on a array that is unbounded is a problem (I am getting sizeof returns size of type 0 warnings).
I have defined a constant array of pointers unbounded IE
#define CCHARPTR code char * CCHARPTR numerous_strings[] = { "string1", "string2", "string3.5" };
If I wished to know the number of entries in numerous_strings I thought I could do this
(sizeof(numerous_strings)/sizeof(CCHARPTR))
Obviously I was wrong since the compiler warns sizeof(numerous_strings) is zero. How can I get the size of this array because I would like to save time in having to write a 'magic' number for the number of numerous_strings. Sounds simple, unbounded arrays seem to be what it has issues with. Suggestions anyone?
Here's the problem only addition and subtraction on other constants yield a constant result.
Whatever led you do that conclusion? It's wrong. Any expression involving only constants can be used in any place a constant is required. E.g.
int array[5*30+5<<3];
works just fine.
despite the const qualification.
That doesn't make any sense --- as const qualifiers don't make anything a constant. They make an object immutable.
Hans-Bernhard,
You are correct in stating I'm wrong. I've managed to confuse issues from both C and C++ into one formulation of a wrong answer. Thanks for setting the OP right!
-Jay Daniel