对于我的构造函数,我输入一个整数向量,并在构造函数中设置另一个类型为bool的向量,称为theSet。从输入向量中,我检查每个元素是否在0到20之间,如果为true,那么Set的元素为true。通过向量错误解引用
但是,我在解除引用set矢量的实现时遇到了问题。
class Set
{
public:
Set(vector<int> &);
bool IsMember(int);
private:
vector<bool> theSet;
}
bool Set::IsMember(int x)
{
if ((x >= 0) && (x <= 20))
return true;
else
return false;
}
Set::Set(vector<int> &v)
{
int length = v.size();
theSet.reserve(length);
bool check;
int p = 0;
for (int i = 0; i < length; i++)
{
theSet[i] = IsMember(v[i]);
}
}
你有什么问题? – Radiodef 2014-11-09 06:55:53
@Radiodef我刚刚复制/粘贴他的代码,并且msvcr出现了一个调试断言错误,声称当'setSet [i] = IsMember(v [i])'时,迭代器不会无效['''。 –
PuerNoctis
2014-11-09 06:57:56
@PuerNoctis请注意,OP应该*告诉我们这个问题。因为我认为他们已经*已经试图编译它。 – Radiodef 2014-11-09 06:59:53