Compiler errors C7000 through C7499
The articles in this section of the documentation explain a subset of the error messages that are generated by the compiler.
Important
The Visual Studio compilers and build tools can report many kinds of errors and warnings. After an error or warning is found, the build tools may make assumptions about code intent and attempt to continue, so that more issues can be reported at the same time. If the tools make the wrong assumption, later errors or warnings may not apply to your project. When you correct issues in your project, always start with the first error or warning that's reported, and rebuild often. One fix may make many subsequent errors go away.
To get help on a particular diagnostic message in Visual Studio, select it in the Output window and press the F1 key. Visual Studio opens the documentation page for that error, if one exists. You can also use the search tool at the top of the page to find articles about specific errors or warnings. Or, browse the list of errors and warnings by tool and type in the table of contents on this page.
Note
Not every Visual Studio error or warning is documented. In many cases, the diagnostic message provides all of the information that's available. If you landed on this page when you used F1 and you think the error or warning message needs additional explanation, let us know. You can use the feedback buttons on this page to raise a documentation issue on GitHub. If you think the error or warning is wrong, or you've found another problem with the toolset, report a product issue on the Developer Community site. You can also send feedback and enter bugs within the IDE. In Visual Studio, go to the menu bar and choose Help > Send Feedback > Report a Problem, or submit a suggestion by using Help > Send Feedback > Send a Suggestion. Some compiler error topics were created that are not emitted by the compiler and now redirect to this page instead.
You may find additional assistance for errors and warnings in Microsoft Learn Q&A forums. Or, search for the error or warning number on the Visual Studio C++ Developer Community site. You can also search Stack Overflow to find solutions.
For links to additional help and community resources, see Visual C++ Help and Community.
Error messages
Error | Message |
---|---|
Compiler error C7001 | Invalid register. |
Compiler error C7002 | Invalid branch offset. |
Compiler error C7003 | Invalid branch offset greater than 4094 or less than -4096 |
Compiler error C7004 | Invalid branch offset outside of __asm statement |
Compiler error C7005 | Wrong number of arguments (missing comma?) |
Compiler error C7006 | BRA to register is illegal. Using BRAF |
Compiler error C7007 | Invalid double register. |
Compiler error C7008 | Invalid float register. |
Compiler error C7009 | Invalid argument |
Compiler error C7010 | Register not valid as arg |
Compiler error C7011 | Argument types not valid for opcode |
Compiler error C7012 | label redefined |
Compiler error C7013 | label was undefined |
Compiler error C7014 | Variable not valid with opcode |
Compiler error C7015 | Inline Asm block too large. Please use blocks of 3000 lines or less. |
Compiler error C7016 | Load / Store operation not valid in context |
Compiler error C7017 | Invalid register(r0) in LOAD/STORE operation |
Compiler error C7018 | Could not find valid register |
Compiler error C7019 | Could not find valid register for argument 1 |
Compiler error C7020 | Could not find valid register for argument 2 |
Compiler error C7021 | Could not find valid register for argument 3 |
Compiler error C7022 | Instruction invalid without /QSsh4 |
Compiler error C7023 | Instruction invalid without /QSshx |
Compiler error C7024 | Instruction invalid without /QSdsp |
Compiler error C7025 | Branch into delay slot is illegal |
Compiler error C7026 | Final instruction has an empty delay slot |
Compiler error C7027 | Given instruction is invalid in a delay slot |
Compiler error C7028 | Unrecognized opcode. Treating unknown text as a label |
Compiler error C7029 | Final argument of PADD/PSUB can only be X0/Y0/A0/A1 |
Compiler error C7030 | First argument of PMUL can only be X0/X1/Y0/A1 |
Compiler error C7031 | Second argument of PMUL can only be Y0/Y1/X0/A1 |
Compiler error C7032 | Final argument of PMUL can only be M0/M1/A0/A1 |
Compiler error C7033 | Valid arguments are X0/X1/A0/A1/Y0/Y1/M0/M1 |
Compiler error C7034 | Misaligned displacement value |
Compiler error C7050 | symbol already defined |
Compiler error C7051 | the symbol wasn't found in local table |
Compiler error C7052 | missing definition for label |
Compiler error C7053 | floating point Opcode used without -QMFPE- |
Compiler error C7054 | invalid floating point number |
Compiler error C7055 | coprocessor3 is undefined for the architecture given |
Compiler error C7056 | FPU uses the computation opcode space for coprocessor3 for MIPSIV |
Compiler error C7057 | PC register not allowed here |
Compiler error C7058 | SP register not allowed here |
Compiler error C7059 | RA register not allowed here |
Compiler error C7060 | Not allowed to use AT without .set noat |
Compiler error C7061 | Int register not allowed here |
Compiler error C7062 | Int32 register not allowed here |
Compiler error C7063 | FP register not allowed here |
Compiler error C7064 | condition code register not allowed here |
Compiler error C7065 | particular condition code register given not valid |
Compiler error C7066 | unrecognized register |
Compiler error C7067 | integer or floating point constants are not allowed here |
Compiler error C7068 | indirection not allowed here |
Compiler error C7069 | expected SP register |
Compiler error C7070 | expected PC register |
Compiler error C7071 | expected Mips 16 register |
Compiler error C7072 | expected character: ')' |
Compiler error C7073 | memory references are not allowed here |
Compiler error C7074 | expected index register, not integer offset |
Compiler error C7075 | this is not a valid register number |
Compiler error C7076 | index indirections not allowed here |
Compiler error C7077 | expected register |
Compiler error C7078 | this type of register is not allowed here |
Compiler error C7079 | '$' is not followed by a valid register identifier |
Compiler error C7080 | expected register - macro, not literal |
Compiler error C7081 | this is not a valid argument register number |
Compiler error C7082 | '%' is not followed by a valid register identifier |
Compiler error C7083 | expected string constant |
Compiler error C7084 | expected character: ' |
Compiler error C7085 | undefined symbol in expression |
Compiler error C7086 | function literal used with call optimization |
Compiler error C7087 | entering label into table failed |
Compiler error C7088 | expected function, found label |
Compiler error C7089 | expected label, found function |
Compiler error C7090 | label not valid here |
Compiler error C7091 | expected label name |
Compiler error C7092 | unrecognized operand |
Compiler error C7093 | unidentified .set directive |
Compiler error C7094 | macro requires .set noreorder |
Compiler error C7095 | macro instruction used |
Compiler error C7096 | labels not allowed in repeat block |
Compiler error C7097 | .endr without matching .repeat found |
Compiler error C7098 | Immediate size is too large. Using LI. |
Compiler error C7099 | expected character: ',' |
Compiler error C7100 | expected character: ':' |
Compiler error C7101 | expected character: %C |
Compiler error C7102 | expected another operand |
Compiler error C7103 | unidentified operand |
Compiler error C7104 | expected a positive integer constant |
Compiler error C7105 | expected character: ',' or ':' |
Compiler error C7106 | Symbol is not a label. Can't branch to this location. |
Compiler error C7107 | label or symbol redefinition |
Compiler error C7108 | unidentified instruction |
Compiler error C7109 | unsupported instruction |
Compiler error C7110 | is not a global function |
Compiler error C7111 | must use RA |
Compiler error C7112 | nop must be inside .set noreorder section |
Compiler error C7113 | did not find information on branch instruction |
Compiler error C7114 | expected immediate |
Compiler error C7115 | immediate too large |
Compiler error C7116 | opcode used without -QMn32 |
Compiler error C7117 | must use label immediate in order to use PC offset |
Compiler error C7118 | one of the registers must be a MIPS16 register |
Compiler error C7119 | extra source text found beyond the end of instruction |
Compiler error C7120 | opcode used without -QMFPE- |
Compiler error C7121 | Invalid instruction for switches given. Check instruction set against switches given. |
Compiler error C7122 | unimplemented directive |
Compiler error C7123 | symbol is not a label |
Compiler error C7124 | LAU not supported in inline assembly |
Compiler error C7125 | instruction has unhandled dope for form given |
Compiler error C7126 | unable to branch to location given |
Compiler error C7127 | valid function not given |
Compiler error C7128 | invalid operand type |
Compiler error C7129 | instruction is not supported for inline assembly |
Compiler error C7130 | JALR should not use $31 alone or any register twice |
Compiler error C7131 | shift amount not in the range [0, 63] |
Compiler error C7132 | shift amount not in the range [0, 31] |
Compiler error C7133 | immediate value not in the range [0, 31] |
Compiler error C7134 | offset of the source operand not in the range [0, 7] |
Compiler error C7135 | offset of the second source operand not in the range [0, 7] |
Compiler error C7136 | vector-vector operation is not applicable for this instruction |
Compiler error C7137 | shift amount not in the range [0, 7] |
Compiler error C7138 | expected FP Control Register - 0 or 31 |
Compiler error C7139 | invalid hint |
Compiler error C7140 | must use even register (64 bit register) |
Compiler error C7141 | must use vector (64 bit floating point register) |
Compiler error C7142 | invalid InlnExpression |
Compiler error C7143 | '/': division by zero |
Compiler error C7144 | '%': modulo by zero |
Compiler error C7145 | bitwise operations are not applicable on a float constant |
Compiler error C7146 | expected an operand |
Compiler error C7147 | unable to evaluate indirection |
Compiler error C7148 | undefined function |
Compiler error C7149 | label or symbol redefinition |
Compiler error C7150 | branch target is invalid |
Compiler error C7151 | branch and link instructions not supported in inline assembly |
Compiler error C7152 | BC1ANY2x can use only $fcc{0,2,4,6} |
Compiler error C7153 | BC1ANY4x can use only $fcc{0,4} |
Compiler error C7200 | '%s:' can only generate hybrid pop thunk for symbols with C linkage |
Compiler error C7201 | can only generate hybrid thunks for non-static functions |
Compiler error C7202 | '%s:' hybrid unsupported feature '%s.' |
Compiler error C7203 | '%s': '__declspec(hybrid_patchable)' can only be applied to class declarations or definitions, or non-static functions |
Compiler error C7204 | '%s': guest reference call signature does not match ('%s' != '%s') |
Compiler error C7300 | only a call to '%s' is allowed in this function |
See also
C/C++ Compiler and build tools errors and warnings
Compiler errors C2000 - C3999, C7000 - C7999