Problem about cvExtractSURF

Learning SURF now, got a problem about cvExtractSURF, want to get help here.

Load image:
IplImage* srcImg = cvLoadImage(srcPic, CV_LOAD_IMAGE_GRAYSCALE );

Get SURF:
cvExtractSURF (srcImg, 0, &srckpts, &srcdes, __mmstg , params, 0);

In cvsurf.cpp, cvExtractSURF function, route for descriptors:
if( _descriptors )
{
descriptors = cvCreateSeq( 0, sizeof(CvSeq),
descriptor_size*CV_ELEM_SIZE(descriptor_data_type), storage );
cvSeqPushMulti( descriptors, 0, N );
}

Please note function: cvSeqPushMulti( descriptors, 0, N )

The first line of cvSeqPushMulti function is:
cvSeqPushMulti( CvSeq *seq, const void *_elements, int count, int front )
{
char *elements = (char *) _elements;
........
}

It seems that, cvSeqPushMulti( descriptors, 0, N ) passing in a ZERO _elements parameter,
then,
char *elements = (char *) _elements;
got an illegal pointer(debug and see it was: ????)

After that, all operation for descriptors will be failed.

What is the problem ?

Thanks for help.
Topic archived. No new replies allowed.