http://docs.opencv.org/modules/core/doc/basic_structures.html
CvPoint2D32f is a C structure, so you should be able to replace new
CvPoint2D32f[ board_n ]; with malloc(sizeof (CvPoint2D32f) * board_n); but
new upon a struct type in C++ also initializes the contents to the
appropriate zero values, s
the question is about CvArr* in OpenCV
it is defined in the source like this
/* CvArr* is used to pass arbitrary
* array-like data structures
* into functions where the particular
* array type is recognized at runtime:
*/
typedef void CvArr;
and documentation like this
CvArr
struct