對於我的構造函數,我輸入一個整數向量,並在構造函數中設置另一個類型爲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