c++ 类外定义矩阵维度参数范围

shyt4zoc  于 2023-03-14  发布在  其他
关注(0)|答案(1)|浏览(84)

假设我有以下代码

class C {
    static const int dim = 3;
    static const int matrix[dim][dim];
};


int dim = -2;
const int C::matrix[dim][C::dim] = {{1,2,3}, {1,2,3}, {1,2,3}};

1.为什么我必须再次说明矩阵的维数?
1.为什么第一个dim = 3而不是-2?
我的研究向我展示了一些有趣的东西(比如初始化!=定义),但我在C++标准中没有找到这些信息。

nuypyhwy

nuypyhwy1#

为什么我必须再次说明矩阵的维数?
因为它是类型的一部分。matrixconst int [3][3]类型的对象
为什么第一个dim = 3而不是-2?
您正在定义C的成员,因此名称查找会先找到C::dim,然后再查找::

相关问题