按键删除矢量元素

Pro*_*gga 2 c++ encapsulation vector friend

我定义了以下内容,并用元素填充:

vector <vector<double> > my_vector;
Run Code Online (Sandbox Code Playgroud)

但我想删除一个具有特定键的元素...

my_vector.erase(int(specific_key));
Run Code Online (Sandbox Code Playgroud)

但它不允许我.我如何正确处理分配给该密钥的元素?

Mat*_*ner 5

假设specific_key你是指那个位置的元素vector:

my_vector.erase(my_vector.begin() + specific_key);
Run Code Online (Sandbox Code Playgroud)

将是"最正确"的答案.

如果您打算删除匹配的元素specific_key(vector<double>在给定示例中必须是类型:

my_vector.erase(find(my_vector.begin(), my_vector.end(), specific_key));
Run Code Online (Sandbox Code Playgroud)