![]() |
1
4
其他人已经解释了为什么它不能按原样编译。
为了成功,你必须
在这种情况下,您将不得不使用一些逗号的替代品(例如
编译得很好,而
没有。 |
![]() |
2
3
编译器不会展开
不幸的是,你必须使用
你也可以
也就是说,您可能只想使用stl或boost for foreach,除非您特别想创建自己的。 |
![]() |
3
1
扩展
|
![]() |
4
1
正如前面的海报所指出的,预处理器在将宏拆分为参数之前不会展开arglist中的宏。但是,只要宏不使用
|
![]() |
5
0
看看Boost_Foreach-它能满足你的需求 |
![]() |
6
0
预处理器不展开
我非常确信C++预处理器只是一个通道,所以你必须使用:
|
![]() |
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 6 年前 |
![]() |
user3623498 · 在#if中更改变量时出现问题 6 年前 |
![]() |
einpoklum · 来自#cmakedefine替换的意外结果 7 年前 |
![]() |
Joseph Franciscus · C中预处理器方法的别名++ 7 年前 |
![]() |
stoper · 防止同一宏在多个转换单元中具有不同的定义 7 年前 |
![]() |
СеÑгей · MinGW中预处理器g++的奇怪行为 7 年前 |