Как правильно инициализировать матрицу в C++98?
Вопрос
- я не программист
- Я хочу скомпилировать Inkscape в Win32 и наткнулся на следующие сообщения об ошибках:
ui/dialog/filedialogimpl-win32.cpp:1379:ошибка:в C++98 "матрица" должна быть инициализирована конструктором, а не "{...}"
сделать[1]:*** [ui/dialog/filedialogimpl-win32.o] Ошибка 1
Предполагаемый код filedialogimpl-win32.cpp
:
... // Draw the image if(_preview_bitmap_image) // Is the image a pixbuf? { // Set the transformation const Matrix matrix = { scaleFactor, 0, 0, scaleFactor, svgX, svgY }; context->set_matrix (matrix); ...
Так как же это написано в стандарте C++98?
Я гуглил, но никто с таким не сталкивался, может ли это быть не связано?
Решение
Вместо
const Matrix matrix = {
scaleFactor, 0,
0, scaleFactor,
svgX, svgY };
должно быть что-то вроде этого:
const Matrix matrix(
scaleFactor, 0,
0, scaleFactor,
svgX, svgY );
Не связан с StackOverflow