I think this is explained in the C FAQ. Hmm... Where is it?... Hold
on, I'll find it for you... Ah, here it is: http://www.yqcomputer.com/
question 6.18. Or, another explanation is given in C++ FAQ 18.17.
That's a [single] pointer to an array of ten constant pointers.
I think you already said that before.
That's not a pointer to a const array. It's simply a pointer. The fact
that you write '10' between the brackets does not really matter. This
is one of the old (and not necessarily all that great) features of the
language, a carryover from C. According to the rules of declarations,
your function is actually:
void foo(MyStruct const* const* PtrAry)
(meaning, 'PtrAry' is a pointer to a const pointer to a const MyStruct).
Yes, that's OK. Since the type of the expression 'AnyOfPtr' (yes, it's
an expression) is 'MyStruct**', it is convertible to 'MyStruct const*
const*'. That's how the language works.
I am still trying to grok what problem you're trying to solve.
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask