Error map
does not name a type C++: error: 'string' does not name a type
C/C++ · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (12). 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 (12)
Go: declared and not used: x / "fmt" imported and not used
Go refuses to compile code with unused local variables or unused imports.
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/C++: error: expected ';' before 'x' — missing semicolon
The compiler reached a token where a statement should have ended — almost always a missing semicolon on the line above.
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: 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: 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++: error: expected primary-expression before ')' token
The parser expected a value or expression and found a token that cannot start one — often a type name passed where a value belong…
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: narrowing conversion of 'x' from 'int' to 'char' inside { } [-Wnarrowing]
Brace initialisation `{}` refuses conversions that can lose data, such as `double` to `int` or a runtime `int` to `char`.
C++: error: template argument deduction/substitution failed / couldn't deduce template parameter
The compiler could not work out the template arguments from your call — the arguments disagree, the type can't be deduced, or a c…
C++: error: need 'typename' before 'T::iterator' because 'T' is a dependent scope
Inside a template, a name like `T::iterator` could be a type or a value, so C++ requires the `typename` keyword to say it is a ty…
C++: error: expected unqualified-id before 'return' / before ')' token
The parser found a token where a name (declaration) was required — often a missing brace, a stray `)`, or a statement placed in a…
Two steps away (20)
TypeError: x is not a function
You called something as a function, but its value is not a function (it’s undefined, a string, an object…).
ImportError: cannot import name 'x' from 'y'
The module was found, but the name you’re importing from it doesn’t exist — usually a version change or a circular import.
TypeError: x is not a constructor
new was used with something that isn’t a class/constructor — usually a wrong import.
AttributeError: 'X' object has no attribute 'y'
You accessed an attribute or method that doesn’t exist on that object type.
java.lang.ClassCastException: class A cannot be cast to class B
An object was cast to a type it isn’t.
TS7016: Could not find a declaration file for module 'x'. 'x.js' implicitly has an 'any' type.
The JavaScript package has no TypeScript types bundled and no @types package installed.
C/C++: error: stray '\342' in program (smart quotes or invisible characters)
The source file contains a character the compiler does not recognise, typically curly quotes or a non-breaking space pasted from…
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: 'optional' in namespace 'std' does not name a template type — wrong -std standard
The standard-library feature you used needs a newer C++ standard than the compiler is currently set to.
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++: 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: passing 'const X' as 'this' argument discards qualifiers [-fpermissive]
A const object (or const reference) is calling a method that is not declared const, which could modify it.
C++: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
You compared a string literal or pointer with a character or integer — typically `ch == "y"` instead of `ch == 'y'`.
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++: 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: 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++: 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: 'int X::secret' is private within this context
Code outside the class tried to use a private (or protected) member.
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/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…
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException