gpt4 book ai didi

c++ - 具有不同参数的同名宏

转载 作者:可可西里 更新时间:2023-11-01 17:35:32 28 4
gpt4 key购买 nike

是否可以有两个同名但参数不同的宏?像这样:

#define FI(value) do {l<<value;  Doit(l); } while(0)
#define FI(value, level) do {l<<value ; Doit(l,level); } while(0)

最佳答案

这是不可能的。
不能重新定义符号名称。与函数不同,宏不能被重载。从逻辑上考虑,宏用于纯文本替换,那么如何为同一实体替换两个不同的东西呢?

另一种更好的解决方案:
你可以写一个 inline function 以获得相同的结果。它为您提供了类型检查的额外优势,并使您免于宏的模糊副作用。

关于c++ - 具有不同参数的同名宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14123954/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com