假设我有以下代码
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++标准中没有找到这些信息。
1条答案
按热度按时间nuypyhwy1#
为什么我必须再次说明矩阵的维数?
因为它是类型的一部分。
matrix
是const int [3][3]
类型的对象为什么第一个dim = 3而不是-2?
您正在定义
C
的成员,因此名称查找会先找到C::dim
,然后再查找::
。