游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2579|回复: 5

还是关于作用域操作符::

[复制链接]

13

主题

27

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2007-6-4 22:45:00 | 显示全部楼层 |阅读模式
        ::MessageBox(0, "CreateDevice() - FAILED", 0, 0);
比如上面这句。。我把::去掉了还是可以正常运行。。。
那么什么时候必须加::呢。初学见谅,谢谢回答

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2007-6-4 23:39:00 | 显示全部楼层

Re:还是关于作用域操作符::

::表示全局的

假设你的namespace或者class里申明了同名同参函数,不加 :: 默认使用本namespace/class下的函数,如没有同名同参的则使用全局。

如果加了::,强制使用全局空间中的申明实现(例如windows api 中)

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-6-5 02:02:00 | 显示全部楼层

Re:还是关于作用域操作符::

全局,就是类,结构, 名称空间外部
类,结构,名称空间有和全局相同的名称, 语法上可以, 只是会屏蔽掉外部的名称,而使用内部的名称,这时候访问外部,就需要用::来限定.

13

主题

27

帖子

29

积分

注册会员

Rank: 2

积分
29
 楼主| 发表于 2007-6-5 12:17:00 | 显示全部楼层

Re:还是关于作用域操作符::

了解了 谢谢

2

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2007-6-6 06:03:00 | 显示全部楼层

Re: 还是关于作用域操作符::

去掉了也能运行,还有一个可能就是和编译器有关

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-6-6 20:25:00 | 显示全部楼层

Re:还是关于作用域操作符::

这个::如果左边没有东西的化一般都是指全局,这时可以去掉。

不过::后可以弹出下拉列表啊(VC6中),好写一点。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 05:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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