| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 987 人关注过本帖
标题:高手帮帮忙吗,这个函数名能这么定于吗 这么解析啊
取消只看楼主 加入收藏
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
 问题点数:0 回复次数:8 
高手帮帮忙吗,这个函数名能这么定于吗 这么解析啊
void (*tree_get(void))(void) {
    void (*self)(void);

    self = tree_val[tree_idx];

    return self;
}
搜索更多相关主题的帖子: return 
2011-12-31 16:39
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
不懂不懂啊 这是别人的代码 应该是没有错误的 可我就是想不明白。函数名字还能这样写吗  这算是什么
2011-12-31 16:40
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
就没人会吗  这个函数我运行了 是可以这么定义的  但是这么解释呢 我要调用的话,怎么调用呢  (*tree_get(void))(void) ;写这个吗
2011-12-31 17:03
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
  .
2011-12-31 17:31
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
回复 5楼 饭桶
谢谢你哈 我懂了 呵呵  你说的是对的 不过后面你怎么还自己搞不明白了呢  这个函数名师tree_get,返回值是一个指向函数返回值为void 函数也为void的指针,所以后面return 返回的是self  前面定义了tree_val【】  是一个函数指针数组,我没往上展台粘贴罢了。。但还是谢谢你 你理解的是对的  我是用软件发现的  发现这个函数的返回值是void (*(void))  我立刻就懂了 呵呵  一起学习哈。。。
2012-01-03 08:15
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
回复 7楼 zaixuexi
懂了  vs2008中  你在函数上点击一下,属性栏上就有一项是Typestring就是返回类型 ,上面写的是void(*(void))。
2012-01-03 10:38
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
回复 7楼 zaixuexi
问问高手
void menu_process(int32 refresh, int32 key_value)
{
    int32    (*func)(int32, int32);
    int32    flg;

    func = (int32 (*)(int32, int32))tree_get();   
    flg = (*func)(refresh, key_value);
    //进入子节点
    if(flg == TREE_CHILD) {
        func = (int32 (*)(int32, int32))tree_get();
        (*func)(REFRESH_INIT, INVALID);
    //返回父节点
    }else if(flg == TREE_FATHER) {
        func = (int32 (*)(int32, int32))tree_get();
        (*func)(REFRESH_ALL, INVALID);
    }

}    这个函数里面是怎么调用上面的tree_get函数的,tree_get是无参数的,返回值是一个指向函数的指针,这个函数返回值类型是void,参数也是void型,不过这里func = (int32 (*)(int32, int32))tree_get();
却强制转换成 (int32 (*)(int32, int32))这个类型,那转换完后,(*func)(REFRESH_INIT, INVALID);
里面的两个参数怎么应用啊。
2012-01-03 11:46
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
回复 10楼 zaixuexi
thanks  懂了 谢谢
2012-01-03 13:56
dongmeteor
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-31
收藏
得分:0 
回复 10楼 zaixuexi
#define        KEY_INVALID        (0)
#define        KEY_SEL            (1 << 0)
#define        KEY_CHG            (1 << 1)
#define        KEY_SET            (1 << 2)
#define        KEY_RET            (1 << 3)
这写宏定义 后面的 (1《0)等 是什么意思啊 没看懂啊  请教一下
2012-01-03 15:40
快速回复:高手帮帮忙吗,这个函数名能这么定于吗 这么解析啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022065 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved