If a core dump happens,
it could mean one of the following:
- A pointer is NULL and has been de-referenced
(that is, is being used as if it were non-NULL)
- An object has been deleted twice
- A pointer is being used that points to
an object that has been deleted
- An object is being treated as something
it isn’t (for example, an object has been cast incorrectly to the
wrong type of object)