C2 Errors

The table below, which is still in development (for accuracy as well as for completeness), lists the errors that the back-end C/C++ compiler (C2) is known to be capable of issuing in version 13.00.9466.

Text for each error message is reproduced from the corresponding resource string in the executable, with placeholders resolved as much as possible in the style of the product documentation.

Error numbers that the product documentation does not list among the C/C++ Build Errors are highlighted yellow. For some, the code that can raise the error may turn out at closer inspection to be unreachable.

Error Message
C2000 UNKNOWN ERROR
        Please choose the Technical Support command on the Visual C++
        Help menu, or open the Technical Support help file for more information
C2123 '%s' : cannot call __fastcall function '%s' from p-code
C2125 '%s' : allocation exceeds 64K
C2127 parameter allocation exceeds 32K
C2129 static function '%s' not found
C2202 '%s' : not all control paths return a value
C2220 warning treated as error - no '%s' file generated
C2257 p-code generation pragma not allowed without /Oq
C2349 '%s' cannot be compiled using /clr: '%s'; compile without /clr
C2363 '%s' : cannot initialize pointer allocated in a code segment
C2364 cannot initialize pointer to code-based object '%s'
C2365 cannot initialize pointer at odd offset
C2374 '%s' redefinition; multiple initialization
C2382 the PCH file '%s' has been rebuilt since '%s' was generated. Please rebuild this object
C2418 '%s' : not in a register
C2428 '%s' : body of function exceeds 32K
C2442 p-code expression too complex for setjmp or Catch
C2520 conversion from unsigned __int64 to double not implemented, use signed __int64
C2801 in-line assembler reports: %s
C2802 va_start macro has bad parameter
C2840 instruction word argument not constant
C2841 register argument not constant
C2842 register argument (%d) does not specify a valid register number
C2843 instruction word argument not in range
C2880 __swi requires constant first argument (SWI number)
C2881 __swi can not have more than five arguments (SWI number, r0 - r3)
C2900 '%s' : huge array cannot be aligned to segment boundary
C2901 p-code functions can not have more than 127 bytes of parameters
C2902 p-code expression too complex for _alloca
C2903 '%s' defined with __sysapi attribute
C2950 __jump_unwind called