Error map
pure virtual method called C++: pure virtual method called — terminate called without an active exception
C/C++ · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (7). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (7)
C++: error: call of overloaded 'f(int)' is ambiguous
Two or more overloads fit equally well, so the compiler refuses to guess which function you meant.
C++: error: cannot declare variable 'x' to be of abstract type 'Shape' (pure virtual functions)
You tried to create an object of a class that still has pure virtual functions; only a derived class that overrides all of them c…
C++: undefined reference to `vtable for X' — virtual function not defined
The linker cannot find the class's virtual table, which means at least one virtual member function was declared but never defined…
C/C++: Assertion `x > 0' failed. Aborted (core dumped) — assert() condition was false
An `assert()` in your code or in a library found its condition false and aborted the program on purpose.
C++: terminate called without an active exception — std::thread destroyed while joinable
A `std::thread` object was destroyed (or reassigned) while its thread was still running, so the C++ runtime called `std::terminat…
C/C++: ==ERROR: AddressSanitizer: heap-buffer-overflow on address — READ/WRITE of size N
AddressSanitizer caught a read or write just outside a heap block — an array index or length that is off by one or more.
C/C++: ==ERROR: AddressSanitizer: heap-use-after-free on address — memory used after delete/free
The program read or wrote a heap block after it had been freed; ASan shows who freed it and where it was allocated.
Two steps away (20)
Rust: error[E0308]: mismatched types — expected `X`, found `Y`
A value’s type doesn’t match what the context expects — common with &str vs String, Option/Result vs plain values, and integer ty…
C++: error: no match for 'operator<<' (operand types are 'std::ostream' and 'X')
You used an operator on a type that does not define it — most often printing your own class with `
C++: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
C++ forbids silently dropping `const` or converting between unrelated pointer types — typically a string literal assigned to `cha…
C++: error: use of deleted function 'X::X(const X&)' — copying a non-copyable type
The code needs a function (usually a copy constructor or assignment) that was deleted explicitly or implicitly, as for `std::uniq…
C++: error: no matching function for call to 'f(int, const char*)'
No overload of the function accepts the arguments you passed — wrong count, wrong types, or a missing conversion.
C++: error: invalid use of incomplete type 'class X' — forward declaration only
You used a class that has only been forward-declared (so its size and members are unknown) where the full definition is required.
C/C++: undefined reference to `function' — collect2: error: ld returned 1 exit status
The linker can’t find the definition of a function or variable that was declared and used.
C/C++: multiple definition of `x'; first defined here — ld returned 1 exit status
The linker found the same function or global variable defined in two object files — usually something defined in a header.
C/C++: undefined reference to `main' — (.text+0x20) in crt1.o
The linker has no `main` function: the file with `main` is not compiled or linked, or `main` is spelled or declared incorrectly.
C++: terminate called after throwing an instance of 'std::out_of_range' — what(): vector::_M_range_check
A C++ exception wasn’t caught anywhere, so std::terminate aborted the program. what() tells you the reason.
C/C++: Segmentation fault (core dumped) — SIGSEGV from a null, dangling or out-of-bounds pointer
The program touched memory it is not allowed to access — a null or dangling pointer, an out-of-range array index, or a stack over…
C/C++: runtime error: signed integer overflow / null pointer / shift exponent too large (UndefinedBehaviorSanitizer)
UBSan detected code that triggers undefined behaviour (overflow, null dereference, out-of-bounds index, bad shift, misaligned acc…
C/C++: undefined reference to `pthread_create' — missing -pthread (also `dlopen`, `clock_gettime`)
Your program uses threads (or another system library) but the linker was not told to link it.
C++: terminate called after throwing an instance of 'std::bad_alloc' — what(): std::bad_alloc
`new` or a container could not get the memory requested — either the system is out of memory or the size was absurdly large (ofte…
Blue Screen: MEMORY_MANAGEMENT (Stop code 0x0000001A)
Windows detected a severe memory-management error — commonly faulty RAM, unstable memory settings or a bad driver.
Segmentation fault (core dumped)
A program accessed memory it wasn’t allowed to, and the kernel killed it with SIGSEGV (exit code 139).
Killed / Out of memory: Killed process (Linux OOM killer)
The kernel ran out of memory and killed a process to recover — the program just prints “Killed” (exit code 137).
fork: Cannot allocate memory / ENOMEM
The kernel refused a memory allocation — RAM and swap are exhausted, or overcommit/cgroup limits block it.
The application was unable to start correctly (0xc0000005) / Exception code 0xc0000005 access violation
A program tried to read or write memory it doesn’t own and Windows stopped it — buggy software, bad drivers/plugins, security sof…
C/C++: free(): double free detected / double free or corruption (out) — Aborted (core dumped)
Memory was freed twice or the heap was corrupted (buffer overflow, freeing a non-heap pointer), so glibc aborted the program.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException