Qual è il modo corretto per inizializzare una matrice in C ++ 98?
Domanda
- Non sto programmatore
- voglio compilare Inkscape in Win32, e ci siamo imbattuti in questi messaggi di errore:
ui / finestra / filedialogimpl-win32.cpp: 1379: errore: in 'matrix' C ++ 98 deve essere inizializzato dal costruttore, non da '{...}'
fare [1]: *** [ui / finestra / filedialogimpl-win32.o] errore 1
Il codice sospettato di 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); ...
Quindi, come è scritto nella norma 98 C ++?
ho googling, ma nessuno ha incontrato in questo modo, potrebbe essere correlato?
Soluzione
Al posto di
const Matrix matrix = {
scaleFactor, 0,
0, scaleFactor,
svgX, svgY };
ci dovrebbe essere qualcosa di simile:
const Matrix matrix(
scaleFactor, 0,
0, scaleFactor,
svgX, svgY );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow