我正在學習一些openCV
文檔和頭文件,並試圖完全理解這裏發生了什麼。函數輸入變量
在core_c.h
:
CVAPI(CvMat*) cvInitMatHeader(CvMat* mat, int rows, int cols,
int type, void* data CV_DEFAULT(NULL),
int step CV_DEFAULT(CV_AUTOSTEP));
首先,在cvInitMatHeader
void* data CV_DEFAULT(NULL),
int step CV_DEFAULT(CV_AUTOSTEP)
聲明是什麼這樣的輸入變量是什麼意思?就是這一點,我們平時使用的聲明之間的差異,如
void* data
int step
其次, 我讀的教程,我們實際上可以通過
double a[] = { 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12 };
CvMat Ma;
cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a);
使用cvInitMatHeader輸入變量的數量不匹配與標題,我找不到其他功能過載。
爲什麼這可以工作?
您是否知道使用參數默認值的函數? – Mahesh