gpt4 book ai didi

c++ - 设置类型作为宏参数返回错误 : expected unqualified-id before string constant

转载 作者:行者123 更新时间:2023-11-30 04:12:08 26 4
gpt4 key购买 nike

我正在尝试生成一些代码。

当我想用参数设置返回值的类型时编译失败。为什么编译器返回错误?

    #define MODULE_GETTER(module_type, interface_type) \
public: \
static #interface_type * Instance##interface_type (void) \
{ \
return NULL;\
}


class MyModuleType :
public IMyModuleInterface
{
MODULE_GETTER(MyModuleType,IMyModuleInterface)
private:
...
};

当我将 static#interface_type * 更改为 static int * 或任何其他预定义类型时,代码编译没有错误。

我做错了什么?

最佳答案

在宏定义中,# 是字符串化运算符,它将其操作数用引号括起来以生成字符串文字;所以宏扩展为

static "IMyModuleInterface" * InstanceIMyModuleInterface (void)

这是胡说八道。摆脱流氓 # 它应该编译。

关于c++ - 设置类型作为宏参数返回错误 : expected unqualified-id before string constant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19911287/

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