0
我有一個類繼承了一個stl向量,我需要兩個函數返回拋出向量,一個可變,另一個不可變。靜態類拋出類指向一個常量指針
class My : public vector<int> {
public:
vector<int>& array() {return *static_cast<vector<int>*>(this);}
const vector<int>& array() const {return *static_cast<vector<int>*>(this);}
}
爲什麼它無法編譯第二個const
超負荷?
因爲你沒有返回從第二個了'常量矢量&'。 –
callyalater
'static_cast'正在嘗試刪除'this'指針的常量並返回類型爲'vector&'的東西。請參閱[這裏](http://en.cppreference.com/w/cpp/language/static_cast)瞭解更多信息。 –
callyalater
僅供參考,'const_cast'是你想要的,而不是'static_cast'。 –