Как правильно инициализировать Матрицу в C ++ 98? - PullRequest
0 голосов
/ 02 декабря 2009
  1. Я не программист
  2. Я хочу скомпилировать Inkscape в win32, и наткнулся на эти сообщения об ошибках:

ui / dialog / filedialogimpl-win32.cpp: 1379: ошибка: в C ++ 98 «матрица» должна быть инициализирована конструктором, а не «{...}»
make [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?

Я гуглил, но никто не сталкивался с этим, разве это не могло быть связано?

1 Ответ

4 голосов
/ 02 декабря 2009

вместо

const Matrix matrix = { scaleFactor, 0, 0, scaleFactor, svgX, svgY };

должно быть что-то вроде этого:

const Matrix matrix( scaleFactor, 0, 0, scaleFactor, svgX, svgY );

...