奇怪的事情发生了。
我的代码中有一个本地函数
#ifdef abc
.
.
.
#endif
当我写在文件的顶部时
#define abc
它的行为就好像它没有被定义一样。只有当我定义
#define abc
在局部函数本身中,它读取 ifdef 中的代码。
这很奇怪,因为我认为编译器只是遍历整个文件而没有函数的详细信息来更改 # 预处理顺序。无法理解发生了什么。我正在使用 visual-studio 2005。
最佳答案
可能您在#include "stdafx.h"之前有#define。这被忽略了。
关于c++ - 奇怪的预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002343/