Kar*_*tal 2 c++ arrays floating-point struct
我有结构:
struct mat4 {
float m[16];
mat4();
...
float *getFloat();
}
float *mat4::getFloat() {
return m;
}
Run Code Online (Sandbox Code Playgroud)
现在我想从新创建的矩阵r中使m等于m:
void mat4::rotate(vec3 v) {
mat4 r, rx, ry, rz;
...
matrix calculations
...
m = *r.getFloat();
}
Run Code Online (Sandbox Code Playgroud)
但这给了我错误"将'浮动'分配给'浮动[16]'的不兼容类型"我搜索谷歌并尝试了不同的方法但到目前为止没有成功.请告诉我怎么办?
getFloat()返回一个指针.m是一个数组.如果要复制所有返回的内容m,则需要使用std::copy或std::memcpy:
std::memcpy(m, r.getFloat(), sizeof(m));
Run Code Online (Sandbox Code Playgroud)
如果你想从getFloat()你那里得到一个漂浮物可以做到:
m[0] = *r.getFloat();| 归档时间: |
|
| 查看次数: |
4600 次 |
| 最近记录: |