リンクしたURLのソースコードによると(角かっこがない、関数がreturnステートメントがないなど、さまざまな理由でコンパイルされません)、問題は次のとおりです。
// A constructor that initializes the private data members
countyElectionList::countyElectionList(){
}
NULLに初期化することは決してないので、の値countyElectionList::head
を呼び出すと、おそらくNULLではなく、who-knows-what...を指すことになります。したがってクラッシュします。countyElectionList::push_back
head
今後の参考のために:クラッシュが発生した関数が疑わしくなく、ソースコードに障害が見つからない場合にクラッシュをデバッグするときは、ロジックを段階的に実行する必要があります。関数の呼び出し元を調べます。
更新:したがって、新しいペーストビンコードを調べた後(値を返すと主張するいくつかの関数にはreturnステートメントがないため、まだコンパイルされません)、エラーは同じ関数で引き続き発生します:
// A constructor that initializes the private data members
countyElectionList::countyElectionList(){
countyElectionList::head == NULL;
}
代入演算子である。ではなく、比較演算子==
であるwhichを使用していることに注意してください。使用する正しいコードは次のとおりです。=
// A constructor that initializes the private data members
countyElectionList::countyElectionList(){
head = NULL;
}
あなたが実際にこのコードをコンパイルしようとしたのかどうか疑問に思う必要があります。私はそうしました、そして私のコンパイラはすぐに私にエラーを指摘しました。それは私に何をすべきかさえ教えてくれました:
test.cpp(210):警告C4553:'==':演算子は効果がありません。'='を意図しましたか?
また、あなたは頭を抱えているのではないかと思います。これは宿題であり、実際の選挙制度を行っていないことを前提としています(ただし...)。次の質問は、教授と話をして、言語の構文に問題があることを説明することを検討したかどうかです。 ?おそらくあなたの学校には役立つリソースがあります。ファイルにランダムに何かを挿入してプログラムしようとしても、学習には役立ちません。それは欲求不満の練習です。