• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

c 宏 混乱问题解决方法

今生 2019-04-02 浏览量:702


一个文件宏这样定义

#ifdef CONST
#undef CONST
#endif
#define CONST(consttypememclass) const consttype
​而另外一个文件宏 这样定义

#define  CONST const


这个问题该怎么解决?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 前面那个文件这样用,就是想先取消掉针对CONST这个变量的一切宏定义,然后再用它自己的,这两个文件应该原本属于两个不同的模块,有人进行过移植。这种问题只能是使用者自己修改,宏定义哪个生效,会以当前最后定义的为准
    • 发布于 2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 这个没有办法解决,是宏定义冲突,以最后一个有效定义为准,你需要自己来排除这样的冲突。
    • 发布于2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是重新定义CONST代替名,上面那一段会把下面的#define CONST const这个定义给重新定义了正真替换的是CONST(consttypememclass)替换成了const connsttype这东西,如果冲突可以把上面那一段删了,直接用#define CONST const这个试试看
    • 发布于2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 相当于有2个文件对CONST进行了宏定义,这样使用起来会有冲突。

    选择1个使用。

    • 发布于2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 你报的是什么错?我在MDK里测试的没错误没警告。按照你题目描述的情况应该是没问题的

    • 发布于2019-04-03
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

c 宏 混乱问题解决方法