首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同的代码不同的语法(ilm_client.h和ilm_control_platform.h)

相同的代码不同的语法(ilm_client.h和ilm_control_platform.h)
EN

Stack Overflow用户
提问于 2017-07-05 21:12:31
回答 1查看 49关注 0票数 1

我想知道,在下面的代码中,(*layerSetOpacity)是某种函数指针。我在整个存储库的任何地方都找不到引用!

在ilm_client.h中发现的以下代码是可以理解的,因为ilm_layerSetOpacity属于函数

代码语言:javascript
复制
ilmErrorTypes ilm_layerSetOpacity(t_ilm_layer layerId, t_ilm_float opacity);

但是,在ilm_control_platform.h中找到的这段代码是令人困惑的,因为带指针的括号代表什么--函数指针?

代码语言:javascript
复制
 ilmErrorTypes (*layerSetOpacity)(t_ilm_layer layerId,
               t_ilm_float opacity);

我要求的不是代码细节,而是语法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-05 21:18:10

让我们解剖:- ilmErrorTypes (*layerSetOpacity)(t_ilm_layer layerId, t_ilm_float opacity):-

  1. layerSetOpacity是指向一个函数的指针,该函数以两个params作为输入。
  2. 函数的inparams类型为t_ilm_layert_ilm_float
  3. 函数返回adata类型的ilmErrorTypes

在代码库中找不到与符号layerSetOpacity匹配的任何内容,这意味着函数指针在头中是声明的,但从未使用该函数指针调用,但很可能使用ilm_layerSetOpacity调用。

更简单的比喻是:-

代码语言:javascript
复制
int a = 10;
int *p1; //Uninitialized pointer
int *p2 = &a; //pointer pointing to a

在您的例子中,ailm_layerSetOpacityp1layerSetOpacityp2不存在。

哈哈!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44936070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档