我正在构建如下的矩阵:

QMatrix4x3 floatPos4x3 = QMatrix4x3( floatPos0.at(0), floatPos1.at(0), floatPos2.at(0),
                                     floatPos0.at(1), floatPos1.at(1), floatPos2.at(1),
                                     floatPos0.at(2), floatPos1.at(2), floatPos2.at(2),
                                     float(1)       , float(1)       , float(1)        );

但是我得到了错误:



我只是打算在矩阵的最后一行中使用常量常量1.0,该怎么办?

最佳答案

QMatrix4x3QGenericMatrix<4, 3, float>的typedef。如documentation中所述,QGenericMatrix的构造函数将值期望为数组。

因此,我的解决方案如下:

float values[] = {
    floatPos0.at(0), floatPos1.at(0), floatPos2.at(0),
    floatPos0.at(1), floatPos1.at(1), floatPos2.at(1),
    floatPos0.at(2), floatPos1.at(2), floatPos2.at(2),
    float(1)       , float(1)       , float(1)
};

QMatrix4x3 floatPos4x3(values);

关于c++ - 错误:没有匹配函数调用 ‘QGenericMatrix<4, 3, float>::QGenericMatrix(const float&, const float&, …, float)’,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52015348/

10-10 03:47