C 와 C++ 의 2D 이상의 배열에서의 차이? C++ 에서 에러나는 이유?

as 76.***.204.204

1. int *p[3] = {a+0, a+1, a+2}; 이게 왜 C++ 에서는 에러가 날까? 그다지 큰 문제가 있어 보이는 문장이 아닌데…
2. int (*p[3])[3] = {a+0, a+1, a+2}; 이거 좌변을 어떻게 해석해야 할는지… 아니면 1번 문장을 C++ 에서 에러피해서 대체할 더 좋은 문장이 있을지…