リストの作成をクラスに適合させようとしましたが、次のような実行時エラーが発生しました。
デバッグアサーションに失敗しました!式:リストイテレータはインクリメントできません
何が問題なのかわかりません。コードは次のとおりです。
// Core.cpp //
#include "Core.h"
class List {
private:
int Size;
int Values;
list<int> Data;
list<int>::iterator IT;
public:
List(int S, int V) {Size = S; Values = V;}
void MakeList();
void TargetElement(int Element);
void ChangeElement(int Value);
void DisplayList();
};
void List::MakeList() {
list<int> Data(Size, Values);
list<int>::iterator IT = Data.begin();
}
void List::TargetElement(int Element) {
advance(IT, Element);
}
void List::ChangeElement(int Value) {
list<int>::iterator INSERT = Data.begin();
Data.insert(INSERT, Value);
}
void List::DisplayList() {
list<int>::iterator OUTPUT;
for(OUTPUT = Data.begin(); OUTPUT != Data.end(); OUTPUT++) {
//cout << *OUTPUT << endl;
}
}
int main() {
List Container(10, 0);
Container.MakeList();
Container.TargetElement(3);
Container.ChangeElement(20);
Container.DisplayList();
cin.get();
return 0;
}
この問題を解決する方法について何か提案はありますか?
編集:私はどこでも答えを探しましたが、それでも解決策を見つけることができないようです。デバッグとブレークポイントの検索も役に立ちませんでした。