online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> using namespace std; // I'm still bad at pointer logic but it makes sense. // REFERENCES // https://www.geeksforgeeks.org/queue-linked-list-implementation/ // stack linked list assignment earlier in semester // https://stackoverflow.com/questions/29787026/c-queue-from-linked-list class Node { public: int data; Node *next; // controls flow of nodes }; class Queue { public: Queue(); ~Queue(); void enQueue(int data); void deQueue(); bool isEmpty(); //private: all set to public because I don't want to make a print function Node *front; Node *rear; int counter; }; Queue::Queue() { front = NULL; rear = NULL; } Queue::~Queue() { if (rear == NULL && front == NULL) { cout << "Nothing to clean up!" << endl; } else { cout << "Delete should be happening now..."; } } void Queue::enQueue(int data) { // create new node of queue structure Node *temp = new Node; temp->data = data; // write like this line below if not temp->data = data; // Node *temp = new Node(data); // if the queue is empty, first node. if (rear == NULL) { front = temp; rear = temp; return; } // assign data of queue structure rear->next = temp; // point rear pointer to next pointer = assign to temp rear = temp; // assign rear to temp keep front pointer at beginning fifo } void Queue::deQueue() { // if queue is empty, return NULL if (front == NULL) { cout << "Queue is empty, sorry!"; return; } Node* temp = front; // assign front //problem here front = front->next; // move front one node ahead if(front == NULL) { rear = NULL; } delete (temp); return; } bool Queue::isEmpty() { // cout << "functions"; // cout << endl; return (front == NULL && rear == NULL); } int main() { Queue yay; yay.isEmpty(); yay.deQueue(); cout << endl; yay.enQueue(5); yay.enQueue(6); cout << "Queue Front : " << (yay.front)->data << endl; yay.deQueue(); cout << "After deqQueue " << endl; cout << "Queue Front : " << (yay.front)->data << endl; yay.deQueue(); cout << "Queue Front : " << (yay.front)->data << endl; yay.deQueue(); // <- Problem here yay.deQueue(); cout << "completed" << endl; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue