C语言宏连接##问题
2016-04-17 23:19
239 查看
C语言宏连接##问题
举报| 分享| 2013-10-2916:34444769086 | 浏览
418 次
有一组执行类似功能的函数 func1, func2, func3. 定义一个宏 FUNC_NUM,表示在程序中具体选择哪一个函数。 再定义一个宏FUNC替代新函数名,在程序中仅使用 FUNC。 要实现的效果是根据FUNC_NUM不同,FUNC编译后表示的函数不同。 如: void func1(void); void func2(void); void func3(void); #define FUNC_NUM (2) #define FUNC() func##FUNC_NUM() 若FUNC_NUM为1,则FUNC()为func1(); 若FUNC_NUM为2,则FUNC()为func2(); 现在的问题是预处理后的结果 FUNC 成了 funcFUNC_NUM. 有哪位大侠能给出解决的办法。
我有更好的答案
2013-10-29 17:54
#2016年高质量新标准全面升级!#
提问者采纳
#define FUNC_NUM 2 #define FUNC3(x, y) x##y #define FUNC2(x,y) FUNC3(x,y) #define FUNC FUNC2(func, FUNC_NUM) FUNC()会被转换成func2()
提问者评价
特别感谢
分享
评论 | 0 1
paniarch | 来自团队:c编程高手 | 六级 采纳率55%
擅长: C/C++
其他类似问题
2008-07-19C语言宏题目1
2009-01-01C语言里宏的问题
2014-11-14C语言
宏连接符 ## 的问题
2007-06-04C语言宏问题9
2009-03-26C语言宏的问题1
更多关于c
连接宏的问题>>
为您推荐:
按默认排序 | 按时间排序
其他1条回答
2013-10-29 17:15410588896 | 四级把#define FUNC() func##FUNC_NUM()改为#define FUNC() ##FUNC_NUM()试试
相关文章推荐
- C++中extern “C”含义深层探索
- C++使用事件对象实现多线程
- C++使用信号量对象实现线程同步
- C++作业2
- c++ 继承与权限
- C++11 中的线程、锁和条件变量
- c++ vector用法精讲
- C/C++ 进阶 —— static
- C++获取代码运行时间
- C++改变虚指针指向的虚表
- static_const配合void*实现的多态
- C++学习笔记56——类模板中的class与typename
- C++模板引出的标准模板库----->初涉
- c++学习笔记1(指针和引用)
- 利用C++实现插件系统
- C语言杂记.md
- C++ STL:set介绍
- C++ sizeof 使用规则及陷阱分析
- 不知道什么原因在c++上运行正常,在codevs 上就是提交通不过
- 关于C++中的虚拟继承的一些总结