首页 > 解决方案 > 静态 constexpr 成员变量可以引用自己的地址吗?

问题描述

我最近想写这样的代码:

struct FunnyBusiness {
    static constexpr const void *IDENTITY = (const void *)&IDENTITY;
};

但是,GCC (10.2) 拒绝此代码(“IDENTITY 未在此范围内声明”),而 Clang (11.0) 编译它就好了。

static constexpr成员变量的初始化器获取成员变量本身的地址是否合法?

标签: c++scopeinitializationlanguage-lawyerconstexpr

解决方案


推荐阅读