游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1859|回复: 3

问一个函数的问题 很简单的

[复制链接]

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-9-27 10:09:00 | 显示全部楼层 |阅读模式
它的原函数大概是这样的 :
一个类内部的某个函数
viod func()
{
  DWORD dw = ::func();
   .......
   .......
}
1)DWORD dw = ::func(); 这句话是什么意思啊? 函数返回是VOID  拿个DWORD去存它什么意思啊?
2)它怎么能在自己函数内部调用自己?而且它调了还不是死循环 函数能继续执行 我郁闷
3)然后我自己COPY它的这个写的函数,就是函数自己调自己 编译提示 VOID不能转成DWORD 它的代码怎么都能通过编译 我怎么就不行 然后我这么写 DWORD dw = (DOWRD)func(); 依然不行 不能转

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-27 14:07:00 | 显示全部楼层

Re:问一个函数的问题 很简单的

::func  没注意到前面“::”么? 它调用的是全局空间的函数或者变量

18

主题

82

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2007-9-27 18:38:00 | 显示全部楼层

Re:问一个函数的问题 很简单的

DWORD是unsigned int重命名,DWORD dw = ::func();表示调用全局函数func()并把返回值赋给dw ,你自己COPY它的这个写的函数不行的原因是你可能没有定义全局函数func,另外DWORD dw = (DOWRD)func(); 这样肯定是不行的,当然不能把void类型转换为DWORD了,除非是void*转化为DWORD*那是可以的。
如有不对,请lx的指正

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2007-9-28 09:00:00 | 显示全部楼层

Re:问一个函数的问题 很简单的

却实哈 ::func是外部的函数
因为函数和这个内部函数的名字一样所以一下没反映过来
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-21 05:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表