Как правильно инициализировать матрицу в C++98?

StackOverflow https://stackoverflow.com/questions/1833362

  •  11-09-2019
  •  | 
  •  

Вопрос

  1. я не программист
  2. Я хочу скомпилировать 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 );

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top