我希望收到一个向量,其中包含的数据节点的范围内(最小,最大)
但给出一个错误:
no instance of overloaded function "std::vector<_Tp, _Alloc>::push_back [with _Tp=int, _Alloc=std::allocator<int>]" matches the argument listC/C++(304)
ex1.cpp(116, 12): argument types are: (std::vector<int, std::allocator<int>>)
ex1.cpp(116, 12): object type is: std::vector<int, std::allocator<int>>
vector<int> rangeBWVec(binaryTreeNode<int>* root,int min, int max){
vector<int> re;
if(root==NULL){
return re;
}
if(root->data>=min)
{
re.push_back(rangeBWVec(root->left,min,max));
}
if(root->data>=min && root->data<=max)
re.push_back(root->data);
if(root->data<=max)
{
re.push_back(rangeBWVec(root->right,min,max));
}
}
1条答案
按热度按时间v09wglhw1#
push_back
追加一个项目,如果你想从另一个容器中复制所有项目到这个容器中,那么你需要使用insert
方法。然而,没有必要为合并容器而烦恼,只需通过引用传递累积向量。这不仅可以简化代码,还可以减少内存分配量。