右結合で考えてるってことかな?
2番目の位置にconstを書いてみると分かるよ。

const char const * p; // (VC++2005) warning C4114: 同じ型の修飾子が 2 度以上使われています。