双方向リンク リストにノードを挿入したいと考えています。位置、多項式の新しい係数、およびそのパワーが渡されます。コンパイル エラーはありませんが、Linux (g++) でセグメンテーション エラーが発生し、Visual Studio で実行すると Access Violation Writing Location が発生します。
Program.exe の 0x00bd20ba で未処理の例外: 0xC0000005: アクセス違反書き込み場所 0xcdcdcdd9。
void Polynomial::insert( Term *pos, double newCoefficient, int power )
{
Term *newTerm = new Term; // create a new node to insert
// Link the new node to previous and next, given the position
newTerm->prev = pos->prev;
newTerm->next = pos;
newTerm->prev->next = newTerm; // Here's where I'm getting the error
newTerm->next->prev = newTerm;
// change the coefficient and power
newTerm->coefficient = newCoefficient;
newTerm->power = power;
}
私は何を間違っていますか、どうすればこれを修正できますか?