Col*_*mbo 1 c++ heap vector push-back
有人能帮忙吗...
vector<unsigned int> *vVec = new vector<unsigned int>;
vVec .reserve(frankReservedSpace);
start = std::clock();
for(int f=0; f<sizeOfvec; f++)
{ //Populate the newly created vector on the heap
vVec .push_back(pArray[f]);
}
Run Code Online (Sandbox Code Playgroud)
我得到了:错误C2228:'.reserve'的左边必须有class/struct/union
我正在使用new运算符创建一个向量,以便它比创建它的函数更长.因此,这给了我一个指向堆上的向量而不是实际向量对象本身的指针.因此它不会让我执行push_backs的任何.reserve().我看不到它的方法,有人可以帮忙吗?
vVec是一个指向矢量的指针.因此,您应该使用间接( - >)运算符而不是点(.)
vector<unsigned int> *vVec = new vector<unsigned int>;
vVec->reserve(frankReservedSpace);
start = std::clock();
for(int f=0; f<sizeOfvec; f++)
{ //Populate the newly created vector on the heap
vVec->push_back(pArray[f]);
}
Run Code Online (Sandbox Code Playgroud)