Vector STL向量中的Push元素,但在使用';at';

Vector STL向量中的Push元素,但在使用';at';,vector,stl,c++98,Vector,Stl,C++98,我正在尝试做一些非常简单的事情,向向量中添加一个整数,然后将其删除。但当我使用at确定元素是否插入时,会抛出异常 class Obj { ... private: std::vector<unsigned int> elements; } void Obj::addElement(unsigned int elt) { elements.push_back(elt); printElements(); } void Obj::removeEleme

我正在尝试做一些非常简单的事情,向向量中添加一个整数,然后将其删除。但当我使用
at
确定元素是否插入时,会抛出异常

class Obj
{
    ...
private:
    std::vector<unsigned int> elements;
}

void Obj::addElement(unsigned int elt)
{
    elements.push_back(elt);
    printElements();
}

void Obj::removeElement(unsigned int elt)
{
    try
    {
        printElements();
        elements.at(elt);
    }
    catch (const exception& ex)
    {
        cout << "NOT FOUND" << endl;
        return;
    }
    elements.erase(std::remove(elements.begin(), elements.end(), elt, elements.end());
}       

void Obj::printElements()
{
    for(vector<unsigned int>::iterator i = elements.begin(); i != elements.end();++i)
    {
        cout << *i << endl;
    }
}
类Obj
{
...
私人:
std::向量元素;
}
void Obj::addElement(无符号整数)
{
元素。推回(elt);
打印元素();
}
void Obj::removelement(无符号整数)
{
尝试
{
打印元素();
元素。at(elt);
}
捕获(常量异常和ex)
{
cout“At”希望接收元素的位置,而不是它的实际值


at
需要一个索引。这发生在我们当中最好的人身上。