BoundCheckArray<int> iarr(50); BoundCheckArray<Point<int>> oarr(50); BoundCheckArray<Point<int> *> oparr(50); typdef Point<int> * POINT_PTR;