대기열 클래스에 대한 복사 생성자를 수행해야합니다. 여기 내 코드가 있습니다. 나는 왜 나는 seg fault가 있는지 모른다.큐 생성 오류에 대한 복사 생성자
Queue::Queue()
{
front = NULL;
rear = NULL;
numItems = 0 ;
}
// Copy constructor
Queue::Queue(const Queue& queueToCopy)
{
//QueueNode *newNode;//pointer to a new node
QueueNode *nodePtr;//traverse pointer
newNode = new QueueNode;
nodePtr = queueToCopy.front;
while (nodePtr != NULL){
enqueue(nodeNode->value);
nodePtr = nodePtr->next;
}
}
//////////////////////////// 이 제가
복사 생성자 테스트 주요 기능은int main()
{
Queue obj;
//enqueue....
...
// Testing Queue copy constructor
Queue objQ2(objQ);
cout << "The values in the queue objQ2 were: \n";
while (!objQ2.isEmpty()){
int value;
objQ2.dequeue(value);
cout << value << endl;
}
}
루프에서 'newNode'는 어떻게 변경됩니까? – juanchopanza
'newNode-> value'가 초기화되지 않은 채 사용 중일 수 있습니다 –
'Queue' 클래스의 선언을 보지 않고 올바른 코드가 무엇인지 말하기는 정말 어렵습니다. – cdhowie