當我有這樣的構造:錯誤設置二維數組二維數組
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