Name: Anonymous 2007-11-14 12:42
If I declare an array of arrays like this:
const char** p0 = { "## ", "## ", " ", " " };
I get these warnings:
type_d.h:13: warning: initialization from incompatible pointer type
type_d.h:13: warning: excess elements in scalar initializer
type_d.h:13: warning: (near initialization for ‘p0’)
type_d.h:13: warning: excess elements in scalar initializer
type_d.h:13: warning: (near initialization for ‘p0’)
type_d.h:13: warning: excess elements in scalar initializer
type_d.h:13: warning: (near initialization for ‘p0’)
but if I alter the syntax to
const char* p0[] = { "## ", "## ", " ", " " };
the warnings are all gone. what's exactly the difference between using * [] and ** ? I really thought they were just the same, just like * and [] or ** and [][].
If I did it like p0[][] = { ... would it be different at all?
const char** p0 = { "## ", "## ", " ", " " };
I get these warnings:
type_d.h:13: warning: initialization from incompatible pointer type
type_d.h:13: warning: excess elements in scalar initializer
type_d.h:13: warning: (near initialization for ‘p0’)
type_d.h:13: warning: excess elements in scalar initializer
type_d.h:13: warning: (near initialization for ‘p0’)
type_d.h:13: warning: excess elements in scalar initializer
type_d.h:13: warning: (near initialization for ‘p0’)
but if I alter the syntax to
const char* p0[] = { "## ", "## ", " ", " " };
the warnings are all gone. what's exactly the difference between using * [] and ** ? I really thought they were just the same, just like * and [] or ** and [][].
If I did it like p0[][] = { ... would it be different at all?