向量的 push_back 和 insert 不会向向量添加新元素
我使用 Codeblocks,这个将 ShapePtr 添加到 ShapePtr 向量的函数不会向向量添加任何内容。
typedef Shape* ShapePtr;
void insertGrouped(vector<ShapePtr> arr, const ShapePtr &Sh)
{
int flag = 0;
if(arr.empty())
{
arr.push_back(Sh);
}
for(int i = 0; i < arr.size(); i++)
{
if(arr[i]->getType() == Sh->getType())
{
arr.insert(arr.begin() + i, Sh);
flag = 1;
break;
}
}
if(flag == 0)
arr.push_back(Sh);
}
I use Codeblocks, this function to add a ShapePtr to a vector of ShapePtr doesn't add anything to the vector.
typedef Shape* ShapePtr;
void insertGrouped(vector<ShapePtr> arr, const ShapePtr &Sh)
{
int flag = 0;
if(arr.empty())
{
arr.push_back(Sh);
}
for(int i = 0; i < arr.size(); i++)
{
if(arr[i]->getType() == Sh->getType())
{
arr.insert(arr.begin() + i, Sh);
flag = 1;
break;
}
}
if(flag == 0)
arr.push_back(Sh);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论