gpt4 book ai didi

c++ - 函数输入变化

转载 作者:行者123 更新时间:2023-11-28 07:56:44 25 4
gpt4 key购买 nike

我正在研究一些 openCV 文档和 header ,并试图完全理解这里发生的事情。

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);

输入变量的个数与 header 不匹配,找不到其他函数重载。

为什么这行得通?

最佳答案

从给出的代码中我可以推断出 CV_DEFAULT(x) 是一个扩展为 = x 的宏。参见 default arguments如果您不熟悉它们。

关于c++ - 函数输入变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com