【问题标题】:Undefined reference to static constexpr char[][] [duplicate]对静态 constexpr char[][] 的未定义引用 [重复]
【发布时间】:2015-02-15 19:39:00
【问题描述】:

我尝试在类中初始化 char[][] 静态公共字段,但在另一个函数中该字段未定义。我如何使用 conexpr 或存在另一种方法来初始化静态(字典)数组?

class A {
    public:
        constexpr static char dict[][3] = {
            "a",
            "bb"
        };

        void print() {
            printf(A::dict[1]);
        }
};

int main() {
    A a;
    a.print();
    return 0;
}

10 对 `A::dict' 的未定义引用

【问题讨论】:

标签: c++


【解决方案1】:

定义需要在类外,而初始化器属于类内。

constexpr char A::dict[][3];

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    相关资源
    最近更新 更多