There is no end, it is just the beginning! - A Game Developer's Notes
posted on 2009-07-29 23:38 Heath 阅读(2802) 评论(24) 编辑 收藏 引用 所属分类: Programming Language
换个名字撒,呵呵,难道情有独钟啊 回复 更多评论
偶也觉得,换个名字就好了啊。 回复 更多评论
This is an overstatement. There are tons of defs in the system header files, why you don't complain about them? 回复 更多评论
说明微软高啊 微软能把这么破的玩意组织了这么都年 ,你能说不好吗? 存在的就是合理的! 回复 更多评论
不错啊! 回复 更多评论
干嘛用名词当函数名,重名是肯定的 回复 更多评论
麻烦都是自找的,你开个命名空间不就是了 回复 更多评论
谢谢LZ分享 回复 更多评论
确实是很大的陷阱,这种宏很多,一不小心就掉井里。如果自己编程序的话,名字改了也就改了,即使改成阿猫阿狗也无所谓。但是如果是团队开发,而且这些名字已经规定在了接口规范里,就不是那么容易改的了。况且,作为好的编程习惯,保持方法名的可读性是非常重要的! 回复 更多评论
这种编译错误很好找,博主不会看不懂错误提示吧 回复 更多评论
@simon 宏是通杀啊,没有用的。 回复 更多评论
命名空间 回复 更多评论
这个还真么注意到,放在命名空间里也会替换么? 回复 更多评论
简直是扯淡。 回复 更多评论
@岳阳 @fuckyou 自己实践去吧,别没事在这里乱吐口水... 回复 更多评论
存在就是合理。在 Windows 平台上写东西,这种错误不应该犯。就像你用 C 写程序,你总不能要求用 do 当函数名是应该被接受的。 回复 更多评论
@cyberamoeba 呵呵,这句话真有意思,你能像记住C语言关键字那样记住那么多Windows API吗?当你发现自己连命名一个SetPort函数的权力都没有的时候,你还会这样想吗?上面例子中的MessageBox,当然是个人都知道。 回复 更多评论
你有命名MessageBox的权利,条件是别去包含 <windows.h>既然你包含了这个文件,那就乖乖换名字吧。 回复 更多评论
我也遇到过类似的问题,当时没有细究,只是重新命名了,原来是宏的问题。。。 回复 更多评论
@hdqqq undef掉MessageBox,直接调用MessageBoxA或者MessageBoxW不就行啦,真是OUT得不行了。。。 回复 更多评论
你认为windows该怎么做才能做到兼容ascii和Unicode呢?自己定义的函数加个项目名称或者单位的前缀都是不错的。看看jni生成的c接口 回复 更多评论
既然你知道了原因,那出现了这个错误信息你肯定立刻就反应过来的了。 回复 更多评论
编译器应该负责 回复 更多评论
刚才测试过,在vs2008中,用了命名空间是不会有问题的。。。 回复 更多评论
Powered by: C++博客 Copyright © Heath