gpt4 book ai didi

c - 在 C 中使用粘贴运算符 `##` 和类型

转载 作者:太空狗 更新时间:2023-10-29 15:54:24 25 4
gpt4 key购买 nike

是否可以为 C 预处理器定义一个宏,它将数组作为参数并扩展为 <type of array elements>_string ?例如,如果 x在整数数组中,使用参数调用宏 x应该扩展到 int_string .

我试过

#define TypePaste(array) typeof(array[0])##_string

但它扩展为 )_string .

甚至为 ## 使用多级间接寻址操作数宏未正确扩展。

最佳答案

那是不可能的。在扩展宏和连接标记的翻译阶段(预处理阶段),编译器(此时,预处理器)还没有类型 因此不可能生成类型。

关于c - 在 C 中使用粘贴运算符 `##` 和类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34738587/

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