我有一個類有vector<CCPoint>
類型的成員。我想在構造函數調用中初始化這個成員,怎麼實現呢?在構造函數C++中初始化成員向量
我做了這樣的:
.H
class A{
public:
A(vector<CCPoint> *p);
private:
vector<CCPoint> *p;
}
的.cpp
A:A(){
this->p = p;
}
呼叫
Vector<CCPoint> *p = new Vector<CCPoint>;
A a = new A(p);
那麼什麼(除了明顯的拼寫錯誤)是錯誤的呢?如果有什麼特定的東西你不喜歡這種方法,你需要告訴我們。 –
該死,我得到了空指針異常,但現在我看到我在初始化它之前使用了該向量。如果你不睡幾天就會發生這種情況。說實話,我還沒有使用過C++,所以我使用了這個規則:「在每個非原始變量之前添加一個*,它將像Java一樣工作」,至少就我所見過的而言。我知道這是無禮的...謝謝你的回答總之 –
_「在每個非原始變量之前加一個*,它將像Java一樣工作」_是一個可怕的規則。它不會像Java一樣工作,因爲C++沒有本地垃圾回收器。 – Chad