1
以我的頭文件,我有以下代碼分配指針數組到C++中的專用變量
class ExEvent : public Event {
public:
ExEvent(
Item* dst[SIZE],
);
~ExEvent();
Item* dst[SIZE];
};
在cpp文件,我有以下代碼
ExEvent::ExEvent(
Item * dst[SIZE],
) : Event() {
this->dst = &dst;
}
我得到以下錯誤:
error: array type 'Item *[15]' is not assignable
this->dst = &dst;
有人可以解釋爲什麼會發生此錯誤,爲什麼我不能指定dst數組指針this-> dst。
不能直接分配陣列。改爲使用'std :: copy',或者在第一位使用'std :: array'。 –
您必須將指針複製到數組。您不能使用'='將多個指針指定給指針數組。使用std :: copy或memcpy。 –
通過給參數指定與成員變量不同的名稱,可以消除'this->'語法。 –