The LinkedList
destructor has a couple of problems. First, it’s pointless to set m_size
to 0
and a
to NULL
since they will both go away at the end of the destructor. More important, the code will attempt to dereference a null pointer when the list is empty:
Node* a = m_front; // okay, gets that head pointer Node* b = a->getNext(); // bang!!
Here’s a cleaner way to write it:
Node* a = m_front; while (a != NULL) { Node *temp = a->getNext(); delete a; a = temp; }
Related Posts:
- system(“pause”); – Why is it wrong?
- How to throw a C++ exception
- The static keyword and its various uses in C++
- What is the ‘override’ keyword in C++ used for? [duplicate]
- Unresolved external symbol in object files
- Mutex example / tutorial? [closed]
- “std::bad_alloc”: am I using too much memory?
- What does “dereferencing” a pointer mean?
- What is a smart pointer and when should I use one?
- check if a std::vector contains a certain object?
- Convert char to int in C and C++
- How to convert a char array to a string?
- How to fix a “invalid operands to binary expression” error?
- Is it possible to decompile a C++ executable file
- Difference between `constexpr` and `const`
- C++ Singleton design pattern
- How to correctly use Boolean functions?
- C++ Error: “Expression must have integral or enum type” [duplicate]
- A proper way to create a matrix in c++
- No matching member function for call to ‘push_back’ error
- “X does not name a type” error in C++
- Difference between long double and double in C and C++ [duplicate]
- Why there is no pop_front method in C++ std::vector?
- How do I generate a random number between two variables that I have stored?
- How to print pthread_t
- make: g++: Command not found
- What is an ‘undeclared identifier’ error and how do I fix it?
- Use of “this” keyword in C++
- Why am I getting “undefined reference to main”
- Compiling C++11 with g++
- Setting an int to Infinity in C++
- C++ error: “Array must be initialized with a brace enclosed initializer”
- Why am I getting string does not name a type Error?
- How to avoid the error: terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_S_construct null not valid
- Error while overloading operator (must be a nonstatic member function)
- C++ Fatal Error LNK1120: 1 unresolved externals
- Vector of structs initialization
- C++ deprecated conversion from string constant to ‘char*’
- Converting a vector
to string - std::string formatting like sprintf
- Sorting Characters Of A C++ String
- Sentinel while loop for C++
- How to ensure that a std::map is ordered?
- How to convert vector to array
- “non-standard syntax; use ‘&’ to create a pointer to member” error in Visual Studio 2015
- libpng warning: iCCP: known incorrect sRGB profile
- C++: Expression must have a constant value when declaring array inside function
- What does ‘const static’ mean in C and C++?
- C++ wait for user input
- non-standard syntax; use ‘&’ to create a pointer to member
- How to shuffle a std::vector?
- Understanding glm::lookAt()
- initial value of reference to non-const must be an lvalue
- Typedef function pointer?
- cc1plus: error: unrecognized command line option “-std=c++11” with g++
- cannot declare variable ‘’ to be of abstract type ‘’
- Difference between ‘struct’ and ‘typedef struct’ in C++?
- Debug vs Release in CMake
- C++ Matrix Class
- access violation reading location c++
- C++ template constructor
- PlaySound in C++ Console application?
- Creation of Dynamic Array of Dynamic Objects in C++
- Compiling simple Hello World program on OS X via command line
- Cannot open output file, permission denied
- How to call on a function found on another file?
- How to project a point onto a plane in 3D?
- Using C-string gives Warning: “Address of stack memory associated with local variable returned”
- generate random double numbers in c++
- Cygwin Make bash command not found
- C++ Compiler Error C2280 “attempting to reference a deleted function” in Visual Studio 2013 and 2015
- Why use pointers?
- Why I cannot cout a string?
- How do I return a char array from a function?
- is there is a compiler which convert c++ code into mips assembly language
- term does not evaluate to a function taking 1 arguments
- reading from stdin in c++
- Difference between pic Vs pie
- C++ Templates – LinkedList
- Stray ‘\342’ in C++ program
- gcc -g :what will happen
- QByteArray to QString
- Bitwise Less than or Equal to
- How to automatically convert strongly typed enum into int?
- Function cannot be referenced as it is a deleted function
- Difference between
and - How to get size of dynamic array in C++ [duplicate]
- What is a nested name specifier?
- how to find 2d array size in c++
- Getting error “array bound is not an integer constant before ‘]’ token”
- Fatal error: iostream: No such file or directory in compiling C program using GCC
- error C2995: function template has already been defined
- Is there a way to compile C++ to C Code?
- enum to string in modern C++11 / C++14 / C++17 and future C++20
- Digit limitation from decimal point in C++
- error: expected unqualified-id before ‘while’|
- error C2039: ‘string’ : is not a member of ‘std’, header file problem
- cmath vs math.h (And similar c-prefixed vs .h extension headers)
- Proper way to pass dynamic arrays to other functions
- “Cannot allocate an object of abstract type” error