Error map
C4996 MSVC: error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
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/C++: warning: control reaches end of non-void function [-Wreturn-type]
A function that promises a return value can finish without returning one on some path — undefined behaviour in C++.
C/C++: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' [-Wsign-compare]
A signed integer is compared with an unsigned one; the signed value is converted to unsigned, so a negative number becomes huge.
C: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int' [-Wformat=]
The `printf`/`scanf` format specifier does not match the argument's type, which is undefined behaviour and prints garbage or cras…
C: warning: implicit declaration of function 'foo' [-Wimplicit-function-declaration]
In C you called a function the compiler has not seen declared — usually a missing `#include`. Newer compilers treat it as an erro…
C/C++: *** stack smashing detected ***: terminated — buffer overflow on the stack
GCC's stack protector noticed that a local buffer overflowed and overwrote the function's canary value, so it aborted the program.
MSVC: fatal error LNK1104: cannot open file 'foo.lib' (or 'app.exe' while it is running)
The Visual C++ linker could not open an input library or the output file — the path is wrong, the library is missing, or the .exe…
MSVC: error C2065: 'x': undeclared identifier
Visual C++ met a name it has not seen declared — a typo, a missing header or namespace, or use outside its scope.
Two steps away (17)
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/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++: 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: 'string' does not name a type
Where the compiler expected a type, it found a name it does not know as one — a missing header, namespace, or class declared late…
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/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++: error: 'x' was not declared in this scope (undeclared identifier)
The compiler met a name it has never seen: it is misspelled, declared later, out of scope, or its header or namespace is missing.
C++: error: redefinition of 'class X' / multiple definition — missing include guard
The same class, struct or function body was included twice in one translation unit because the header has no include guard.
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.
C/C++: stack overflow — infinite recursion or huge local array (Segmentation fault, 0xC00000FD)
The call stack ran out of space, typically from recursion that never stops or from a very large array declared as a local variabl…
C/C++: Floating point exception (core dumped) — SIGFPE, usually integer division by zero
Despite the name, this is almost always an integer division or modulo by zero (or INT_MIN / -1); floating-point division by zero…
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++: 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++: 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/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.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException