[英]C++ How should I interpret a function argument long(*pPointer)(OtherClass *const, long)?
我对这种语法没有任何意义。 应该传递给函数什么? 类型为long的指针,还是指向OtherClass
的实例的OtherClass
? 是什么意思,long
在结束了吗?
在doxygen文档中,此语法解析为:
long(*)(OtherClass *const, long) pPointer,
我试图搜索这种语法的示例,但是很难搜索大括号和星号。
它是指向一个函数的指针,该函数接受其他类型的参数和long并返回long。 函数指针的名称是pPointer。
这是指向名为pPointer
的函数的指针(此处的名称值得商pPointer
)。 想象一下此函数在您的代码库中的某处:
long someFunction(OtherClass *const param1, long param2);
可以将其作为您问题标题中的类型传递给
passFct(someFunction);
接收功能可能看起来像
void passFct(long (*pPointer) (OtherClass *const, long))
{
/* ... */
/* Actually call the function to with pPointer points: */
pPointer(&otherClassInstance, 10l);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.