大家都知道c/c++函数参数入栈顺序是从右到左的,有时候不注意容易犯错:
看这一行代码:
“Quaternion quat(byteArray.readFloat(), byteArray.readFloat(), byteArray.readFloat(), byteArray.readFloat())”
解释:
byteArray.readFloat()这个用来不断读取文件内容。
本来我想要的效果是这样:Quaternion quat(1, 2, 3, 4);
结果因为参数入站顺序是从右到左的,所以实际上先执行了最右边的byteArray.readFloat()。。。
显然,实际效果是这样:Quaternion quat(4, 3, 2, 1);