我正在写一个类BitVector,我有一个返回BitVector容量的方法。我的想法是调用std :: vector capacity(),但是我收到一个错误,我有点困惑。以下是我的方法:
int BitVector::Size() {
int size = (int) this->bitVector().capacity();
}
我遇到的错误是“明显调用的表达式括号必须有(指向 - ) - 函数类型。这里有什么问题?
关于我班级的其他背景信息:
我的BitVector类有通常的公共构造函数,解构器等,然后是一个指向向量的私有指针,如下所示:
private:
std::vector<uint8_t>* bitVector;
在我的构造函数中,我将指针指向堆上的向量,如下所示:
BitVector::BitVector(int numBits) {
this->bitVector = new std::vector<uint8_t> (numBits, 0);
}
答案 0 :(得分:1)
bitVector
只是一个成员,而不是一个功能。它也是一个指针。
int size = (int)this->bitVector->capacity();
另外,请注意std::vector<bool>
already specialized为位向量(每个bool使用1位),因此您需要重新发明轮子。