我有一个继承stl向量的类,我需要两个函数将强制转换为vector,一个是可变的,另一个是不可变的。
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
重载无法编译?
答案 0 :(得分:4)
演员试图删除const
- ness,但这并不起作用。
但是,您应该能够写
vector<int>& array() {return *this;}
const vector<int>& array() const {return *this;}