配列ポインタの配列の領域を確保することは不可能ですか?
p = new ((int*)[5])[ncount];