リンクリストを書きましたが、すべて正常に機能しますが、特定の関数を使用して印刷しようとしたときにエラーが発生しました。エラーとそれを修正する方法がありますか?C++ - リンクされたリスト - 私が使用するときにプログラムの中断 - >印刷機能で
エラーは、ReverseNew-> print();を呼び出したときにのみ発生します。
(main.cppにで)関数reverseList:メイン
List * reverseList(List &listToReverse){
List newList;
Node* currentPtr = listToReverse.getFirstNode();
while (currentPtr != 0){
newList.AddElement(currentPtr->getdata());
currentPtr = currentPtr->getNextPtr();
}
Node* currentNode = newList.getFirstNode();
int size = newList.size();
while (currentNode != 0){
currentNode->setId(size);
size--;
currentNode = currentNode->getNextPtr();
}
return &newList;
}
:
int main(){
List l1;
l1.AddElement(1);
l1.AddElement(2);
l1.AddElement(3);
**l1.print(); >> Here he prints the list and works fine**
List* reverseNew = reverseList(l1);
**reverseNew->print(); >> here the program break**
system("pause");
return 0;
}
印刷機能:(List.cpp中)
void List::print(){
Node* currentNode = firstPtr;
if (isEmpty())
std::cout << "List is empty" << std::endl;
else{
while (currentNode != 0){
std::cout << " < " << currentNode->data << " , " << currentNode->ID
<< " > " << std::endl;
currentNode = currentNode->nextPtr;
}}}
プログラムが出てきます彼女は私をこの行に連れて行きます:(印刷機能で)
std::cout << " < " << currentNode->data << " , " << currentNode->ID
<< " > " << std::endl;
thabk's。