clang++ stringifying(#) ang concatenating(##) 问题

clang++ stringifying(#) ang concatenating(##) problem

提问人:Waldemar _ 提问时间:11/9/2023 最后编辑:Jason AllerWaldemar _ 更新时间:11/9/2023 访问量:44

问:

我有那个块 if 代码。

#define EVENT_CLASS_TYPE(type) static EventType GetStaticType() { return EventType::##type; }\
                                virtual EventType GetEventType()         const override { return GetStaticType(); }\
                                virtual const char* GetName() const override { return #type; }

我希望 ## 将连接“Event Type::” 和 “type”,而 # 将字符串化“type”。但我只收到一个错误,上面写着“无效的预处理令牌”。我正在使用 clang++-14 版本 14.0.0。

C CLang++ 预处理器

评论


答: 暂无答案