函数输入变化

function input variation

本文关键字:变化 输入 函数      更新时间:2023-10-16

我正在研究一些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 

第二我阅读了教程,我们实际上可以使用cvInitMatHeader:

double a[] = { 1,  2,  3,  4,
           5,  6,  7,  8,
           9, 10, 11, 12 };
CvMat Ma;
cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a);

输入变量的数量与标题不匹配,我找不到其他函数重载。

为什么这可以工作?

从给出的代码中,我可以推断出CV_DEFAULT(x)是一个扩展到= x的宏。如果您不熟悉默认参数,请参阅它们。