我有几个类和几个向量,其中包含一些每种类型的对象。为简单起见,我只谈一个。所以我有:
class Multiple : public Question {
public:
//Member functions here
private:
int num_choices;
string correct;
vector<string> choices;
};
它还继承了一些数据成员int points;
、int chapter;
和string prompt;
。
所以我必须vector<Multiple> mcq;
存储类的几个对象(不是动态分配的)。但是现在我需要能够删除给定索引处的对象,我已经尝试过,mcq.erase(index)
但是使用 Visual Studio 2012 它会给出错误Error: no instance of overloaded function "std::vector<_Ty, _Alloc>::erase [with _Ty=Multiple, _Alloc = std::allocator<Multiple>]" matches the argument list argument types are: (int) object type is: std::vector<Multiple, std::allocator<Multiple>>
,我不知道这意味着什么或如何修复它。
预先感谢您的任何帮助。