我正在学习一些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