|
|
1
3
宏完全忽略作用域。 基本上,预处理器会用updateResource来查找/替换updateResource,这样你就走运了。 重命名方法是您唯一的选择 |
|
|
2
5
只是取消定义:
如果你真的需要的话,以后再重新定义。 编辑:但是,您应该重新考虑您对重命名方法的厌恶。正如其他人所说,这是一个更优雅的解决方案。 |
|
|
3
1
最简单的方法是在所有其他头文件(在stdafx.h中)之前包含winbase.h,这样您就不关心方法名是否被替换了。 |
|
|
4
1
重命名函数。如果您想使用Windows库,那么您必须接受它们优先,您永远不会尝试创建一个名为std::string的类,是吗? |
|
|
5
0
啊,这就是预处理器的坏处! |
|
|
6
0
在声明函数之前,可以使用undef预处理器指令取消定义updateResource宏。 |
|
|
7
0
一种方法是记录 如果 包含winbase.h,必须在此头之前包含。通常这是一个可怕的要求,但是对于Windows报头,如果不首先包含它们(通常在预编译报头中,如@sharptouth所说),那么您将面临一个痛苦的世界。 完成了,把这个放在你的头上:
任何同时需要原始定义的人
|
|
|
8
-2
名称空间是一种方法。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |