我想知道,在下面的代码中,(*layerSetOpacity)是某种函数指针。我在整个存储库的任何地方都找不到引用!
在ilm_client.h中发现的以下代码是可以理解的,因为ilm_layerSetOpacity属于函数
ilmErrorTypes ilm_layerSetOpacity(t_ilm_layer layerId, t_ilm_float opacity);但是,在ilm_control_platform.h中找到的这段代码是令人困惑的,因为带指针的括号代表什么--函数指针?
ilmErrorTypes (*layerSetOpacity)(t_ilm_layer layerId,
t_ilm_float opacity);我要求的不是代码细节,而是语法。
发布于 2017-07-05 21:18:10
让我们解剖:- ilmErrorTypes (*layerSetOpacity)(t_ilm_layer layerId, t_ilm_float opacity):-
layerSetOpacity是指向一个函数的指针,该函数以两个params作为输入。t_ilm_layer和t_ilm_float。ilmErrorTypes。在代码库中找不到与符号layerSetOpacity匹配的任何内容,这意味着函数指针在头中是声明的,但从未使用该函数指针调用,但很可能使用ilm_layerSetOpacity调用。
更简单的比喻是:-
int a = 10;
int *p1; //Uninitialized pointer
int *p2 = &a; //pointer pointing to a在您的例子中,a是ilm_layerSetOpacity,p1是layerSetOpacity,p2不存在。
哈哈!
https://stackoverflow.com/questions/44936070
复制相似问题