У меня есть класс класса матрицы шаблона, определенный в заголовке с именем "Matrix.h".
В моей программе неоднократно используются определенные матрицы. Я думал, что я определю их в заголовочном файле Matrix.h, например:
const Matrix<GLfloat> B_SPLINE_TO_BEZIER_MATRIX(4, 4, values);
Когда я делаю это, g ++ жалуется, что я переопределил эту константу. Это происходит потому, что я включаю Matrix.h в два разных исходных файла. Когда объектные файлы для них скомпилированы, оба заканчивают определением матрицы выше, вызывая сообщение об ошибке.
Мой вопрос: как мне избежать этой ситуации? Я хочу, чтобы константа была доступна более чем одному файлу, но я не знаю, куда ее поместить.