我在名为“Matrix.h”的标头中定义了一个模板矩阵类类。
在我的程序中重复使用某些矩阵。我以为我会在“Matrix.h”头文件中定义这些,如下所示:
const Matrix<GLfloat> B_SPLINE_TO_BEZIER_MATRIX(4, 4, values);
当我这样做时,g++ 抱怨我重新定义了有问题的常量。发生这种情况是因为我将 Matrix.h 包含在两个不同的源文件中。编译这些的目标文件时,两者都以上述矩阵的定义结束,从而导致错误消息。
我的问题是如何避免这种情况?我想要一个可以被多个文件访问的常量,但我不知道把它放在哪里。