当我有这样的构造:错误设置二维数组二维数组
Transform::Transform(float matrix[4][4])
{
m = matrix;
}
而这个类的定义:
class Transform
{
float m[4][4];
public:
Transform();
Transform(float matrix[4][4]);
但是,这并不编译。
出了什么问题?
错误1错误C2440:'=':无法从'float [] [4]'转换为'float [4] [4]'c:\ Users \ Josh \ Documents \ agui \ trunk \ src \ Agui \ Transform.cpp 75
感谢
如果你可以使用它,我会推荐'std :: array'。它确实分配。 – chris
数组不能以这种方式复制。你需要复制*内容*(通过索引访问或像std :: copy(),memcpy()或memmove()这样的内存移动算法。当然,保护所有内容并执行chris上面说的,用你的stdlib,什么吃晚餐 – WhozCraig