我正在构建如下矩阵:
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) );
但是我得到了错误:
错误:没有匹配函数可调用'QGenericMatrix <4,3,float> :: QGenericMatrix(const float&,const float&,const float&,const float&,const float&,const float&,const float&,const float&,const float& ,float,float,float)'
我只是想在矩阵的最后一行中设置1.0
的常量浮点值,该怎么办?
答案 0 :(得分:1)
QMatrix4x3
是QGenericMatrix<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);