标题:宏函数里能包含条件编译吗?
只看楼主
andrewkewang
Rank: 2
等 级:论坛游民
帖 子:44
专家分:42
注 册:2013-11-22
结帖率:88.89%
已结贴  问题点数:10 回复次数:8 
宏函数里能包含条件编译吗?
我的下面的代码编译不过。请问宏函数里能包含条件编译吗?
#define EXCHAN(a,b)    \
{                      \
#if (FGVI == ON)       \
    a = b;             \
#endif                 \
}
报错出在【#if (FGVI == ON)       \】这一行
出错信息是:expected a macro paramater name
搜索更多相关主题的帖子: expected 信息 
2014-10-09 12:51
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
我觉得错误的原因是行尾的\造成的

总有那身价贱的人给作业贴回复完整的代码
2014-10-09 12:54
andrewkewang
Rank: 2
等 级:论坛游民
帖 子:44
专家分:42
注 册:2013-11-22
得分:0 
回复 2 楼 embed_xuel
【\】去掉后,还是编译不过
2014-10-09 13:28
andrewkewang
Rank: 2
等 级:论坛游民
帖 子:44
专家分:42
注 册:2013-11-22
得分:0 
回复 2 楼 embed_xuel
【\】去掉后,还是编译不过
2014-10-09 13:28
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
第一,你要先知道行尾"\"有什么作用?如何使用?
第二,你要知道宏定义是什么?

把条件编译放在define外边吧

总有那身价贱的人给作业贴回复完整的代码
2014-10-09 13:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
#if (FGVI == ON)
    #define EXCHAN(a,b) a=b
#else
    #define EXCHAN(a,b)
#endif
2014-10-09 16:23
andrewkewang
Rank: 2
等 级:论坛游民
帖 子:44
专家分:42
注 册:2013-11-22
得分:0 
回复 6 楼 rjsp
谢谢
2014-10-12 21:48
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
回复 7 楼 andrewkewang
原来楼主只是想要改代码,害我费口舌

总有那身价贱的人给作业贴回复完整的代码
2014-10-13 07:52
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:0 
这就是错误领会楼主意图的代价,嘿嘿

梦想拥有一台龙芯3A-4000
2014-10-13 11:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437020-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.481875 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved