int ccc(int a) { #ifndef aaa a++; #endif return a; } void bbb() { #define aaa } int main() { int a = 0; bbb(); a = ccc(a); printf("%d",a); return 0; }
[quote=引用 7 楼 bravery36 的回复:] 预编译和运行时完全就是两个概念,lz先看下基础的东西。
预编译和运行时完全就是两个概念,lz先看下基础的东西。
不可能通过ifdef 来实现条件执行, 要跨越编译和执行边界很麻烦,还是考虑其它方式实现吧, 如果功底够,可以参考一下boost::mpl中的for_each
先弄明白啥叫编译期、啥叫运行期。
65,186
社区成员
250,526
社区内容
加载中
试试用AI创作助手写篇文章吧