Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
This section lists C/C++ Code Analysis warnings. For information about Code Analysis, see /analyze (Code Analysis) and Quick Start: Code Analysis for C/C++.
In This Section
Warning Number |
Description |
|---|---|
warning C1250: Unable to load plug-in |
|
warning C1252: Circular or missing dependency between plugins: requires GUID |
|
warning C1253: Unable to load model file |
|
warning C1254: Plugin version mismatch : version doesn't match the version of the PREfast driver |
|
warning C1255: PCH data for plugin has incorrect length |
|
warning C1256: PCH must be both written and read |
|
warning C1257: Plugin Initialization Failure |
|
warning C6001: using uninitialized memory <variable> |
|
warning C6011: dereferencing NULL pointer <name> |
|
warning C6029: possible buffer overrun in call to <function>: use of unchecked value |
|
warning C6031: return value ignored: <function> could return unexpected value |
|
warning C6053: call to <function> may not zero-terminate string <variable> |
|
warning C6054: string <variable> may not be zero-terminated |
|
warning C6059: Incorrect length parameter in call to <function>. Pass the number of remaining characters, not the buffer size of <variable> |
|
warning C6063: missing string argument to <function> corresponding to conversion specifier <number> |
|
warning C6064: missing integer argument to <function> corresponding to conversion specifier <number> |
|
warning C6066: non-pointer passed as parameter <number> when pointer is required in call to <function> |
|
warning C6067: parameter <number> in call to <function> must be the address of the string |
|
warning C6101: Returning uninitialized memory |
|
warning C6200: index <name> is out of valid index range <min> to <max> for non-stack buffer <variable> |
|
warning C6201: buffer overrun for <variable>, which is possibly stack allocated: index <name> is out of valid index range <min> to <max> |
|
warning C6211: Leaking memory <pointer> due to an exception. Consider using a local catch block to clean up memory |
|
warning C6214: cast between semantically different integer types: HRESULT to a Boolean type |
|
warning C6215: cast between semantically different integer types: a Boolean type to HRESULT |
|
warning C6216: compiler-inserted cast between semantically different integral types: a Boolean type to HRESULT |
|
warning C6217: Implicit cast between semantically different integer types: testing HRESULT with 'not'. Consider using SUCCEEDED or FAILED macro instead |
|
warning C6219: Implicit cast between semantically different integer types: comparing HRESULT to 1 or TRUE. Consider using SUCCEEDED or FAILED macro instead |
|
warning C6220 - Implicit cast between semantically different integer types: comparing HRESULT to -1. Consider using SUCCEEDED or FAILED macro instead |
|
warning C6221: Implicit cast between semantically different integer types: comparing HRESULT to an integer. Consider using SUCCEEDED or FAILED macros instead |
|
warning C6225: Implicit cast between semantically different integer types: assigning 1 or TRUE to HRESULT. Consider using S_FALSE instead |
|
warning C6226: Implicit cast between semantically different integer types: assigning -1 to HRESULT. Consider using E_FAIL instead |
|
warning C6230: implicit cast between semantically different integer types: using HRESULT in a Boolean context |
|
warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant |
|
warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant |
|
warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and may have side effects |
|
warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator? |
|
warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator? |
|
warning C6242: A jump out of this try-block forces local unwind. Incurs severe performance penalty |
|
warning C6244: local declaration of <variable> hides previous declaration at <line> of <file> |
|
warning C6246: Local declaration of <variable> hides declaration of same name in outer scope. Additional Information: See previous declaration at <location>. |
|
warning C6248: setting a SECURITY_DESCRIPTOR’s DACL to NULL will result in an unprotected object |
|
warning C6250: Calling <function> VirtualFree without the MEM_RELEASE flag may free memory but not address descriptors (VADs); results in address space leaks |
|
warning C6255: _alloca indicates failure by raising a stack overflow exception. Consider using _alloca_s instead |
|
warning C6258: using TerminateThread does not allow proper thread clean up |
|
warning C6259: labeled code is unreachable: (<expression> & <constant>) in switch-expr cannot evaluate to <case-label> |
|
warning C6260: sizeof * sizeof is almost always wrong, did you intend to use a character count or a byte count? |
|
warning C6262: Function uses <constant> bytes of stack: exceeds /analyze:stacksize<constant>. Consider moving some data to heap |
|
warning C6263: using _alloca in a loop; this can quickly overflow stack |
|
warning C6268: Incorrect order of operations: (<TYPE1>)(<TYPE2>)x + y. Possible missing parentheses in (<TYPE1>)((<TYPE2>)x + y) |
|
warning C6269: possible incorrect order of operations: dereference ignored |
|
warning C6270: missing float argument to <function>: add a float argument corresponding to conversion specifier <number> |
|
warning C6271: extra argument passed to <function>: parameter <number> is not used by the format string |
|
warning C6272: non-float passed as argument <number> when float is required in call to <function> |
|
warning 6273 - non-integer passed as parameter <number> when integer is required in call to <function>: if a pointer value is being passed, %p should be used |
|
warning C6274: non-character passed as parameter <number> when character is required in call to <function> |
|
warning C6276: Cast between semantically different string types: char* to wchar_t*. Use of invalid string can lead to undefined behavior |
|
warning C6277: NULL application name with an unquoted path in call to <function>: results in a security vulnerability if the path contains spaces |
|
warning C6278: <variable> is allocated with array new [], but deleted with scalar delete. Destructors will not be called |
|
warning C6279: <variable> is allocated with scalar new, deleted with array delete [] |
|
warning C6280: <variable> is allocated with <function>, but deleted with <function> |
|
warning 6281 - incorrect order of operations: relational operators have higher precedence than bitwise operators |
|
warning C6282: Incorrect operator: assignment of constant in Boolean context. Consider using '==' instead |
|
warning C6283: <variable> is allocated with array new [], but deleted with scalar delete |
|
warning C6284: object passed as parameter '%d' when string is required in call to <function>. |
|
warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant. Did you intend to use the bitwise-and operator? |
|
warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant. <expression> is never evaluated and may have side effects |
|
warning C6287: redundant code: the left and right sub-expressions are identical |
|
warning C6288: Incorrect operator: mutual inclusion over && is always zero. Did you intent to use || instead? |
|
warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? |
|
warning C6290: Bitwise operation on logical result: ! has higher precedence than &. Use && or (!(x & y)) instead |
|
warning C6291: Bitwise operation on logical result: ! has higher precedence than |. Use || or (!(x | y)) instead |
|
warning C6292: ill-defined for-loop: counts up from maximum |
|
warning C6293: Ill-defined for-loop: counts down from minimum |
|
warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed |
|
warning C6295: Ill-defined for-loop: <variable> values are of the range "min" to "max". Loop executed indefinitely |
|
warning C6296: Ill-defined for-loop: Loop body only executed once |
|
warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Result may not be an expected value |
|
warning C6298: using a read-only string <pointer> as a writable string argument: this will attempt to write into static read-only memory and cause random crashes |
|
warning C6299: explicitly comparing a bit field to a Boolean type will yield unexpected results |
|
warning C6302: format string mismatch: character string passed as parameter <number> when wide character string is required in call to <function>s |
|
warning C6303: format string mismatch: wide character string passed as parameter <number> when character string is required in call to <function> |
|
warning C6305: potential mismatch between sizeof and countof quantities |
|
warning C6306: incorrect call to <function>: consider using <function> which accepts a va_list as an argument |
|
warning C6308: 'realloc' may return null pointer: assigning a null pointer to <variable>, which is passed as an argument to 'realloc', will cause the original memory block to be leaked |
|
warning C6310: illegal constant in exception filter can cause unexpected behavior |
|
warning C6312: Possible infinite loop: use of the constant EXCEPTION_CONTINUE_EXECUTION in the exception-filter expression of a try-except |
|
warning C6313: Incorrect operator: Zero-valued flag cannot be tested with bitwise-and. Use an equality test to look for zero-valued flags |
|
warning C6314: Incorrect order of operations: bitwise-or has higher precedence than the conditional-expression operator. Add parentheses to clarify intent |
|
warning C6315: Incorrect order of operations: bitwise-and has higher precedence than bitwise-or. Add parentheses to clarify intent |
|
warning C6316: Incorrect operator: tested expression is constant and non-zero. Use bitwise-and to determine whether bits are set |
|
warning C6317: incorrect operator: logical-not (!) is not interchangeable with ones-complement (~) |
|
warning C6318: Ill-defined __try/__except: use of the constant EXCEPTION_CONTINUE_SEARCH or another constant that evaluates to zero in the exception-filter expression. The code in the exception handler block is not executed |
|
warning C6319: use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects |
|
warning C6320: exception-filter expression is the constant EXCEPTION_EXECUTE_HANDLER. This may mask exceptions that were not intended to be handled |
|
warning C6322: empty _except block |
|
warning 6323 - use of arithmetic operator on Boolean type(s) |
|
warning C6324: potential incorrect use of <function1>: Did you intend to use <function2>? |
|
warning C6326: potential comparison of a constant with another constant |
|
warning C6328:<type> passed as parameter <number> when <type> is required in call to <function> |
|
warning C6330: Incorrect type passed as parameter in call to function |
|
warning C6331: Invalid parameter: passing MEM_RELEASE and MEM_DECOMMIT in conjunction to <function> is not allowed. This results in the failure of this call |
|
warning C6332: Invalid parameter: passing zero as the dwFreeType parameter to <function> is not allowed. This results in the failure of this call |
|
warning C6333: Invalid parameter: passing MEM_RELEASE and a non-zero dwSize parameter to <function> is not allowed. This results in the failure of this call |
|
warning C6334: sizeof operator applied to an expression with an operator may yield unexpected results |
|
warning C6335: leaking process information handle <handlename> |
|
warning C6336: arithmetic operator has precedence over question operator, use parentheses to clarify intent |
|
warning C6340: Incorrect type passed as parameter in call to function |
|
warning C6381: Shutdown API <function> requires a valid dwReason or lpMessage |
|
warning C6383: buffer overrun due to conversion of an element count into a byte count: an element count is expected for parameter <number> in call to <function> |
|
warning C6384: dividing sizeof a pointer by another value |
|
warning C6385: invalid data: accessing <buffer name>, the readable size is <size1> bytes, but <size2> bytes may be read: Lines: x, y |
|
warning C6386: buffer overrun: accessing <buffer name>, the writable size is <size1> bytes, but <size2> bytes may be written: Lines: x, y |
|
warning C6387: <argument> may be <value>: this does not adhere to the specification for the function <function name>: Lines: x, y |
|
warning C6388: <argument> may not be <value>: this does not adhere to the specification for the function <function name>: Lines: x, y |
|
warning C6400: Using <function name> to perform a case-insensitive compare to constant string <string name>. Yields unexpected results in non-English locales |
|
warning C6401: Using <function name> in a default locale to perform a case-insensitive compare to constant string < string name>. Yields unexpected results in non-English locales |
|
warning C6500: invalid annotation: value for <name> property is invalid |
|
warning C6501: annotation conflict: <name> property conflicts with previously specified property |
|
warning C6503: annotation conflict: references may not be marked Null=Yes or Null=Maybe |
|
warning C6504: invalid annotation: property may only be used on values of pointer, pointer-to-member, or array type |
|
warning C6505: invalid annotation: MustCheck property may not be used on values of void type |
|
warning C6506: invalid annotation: <name> property may only be used on values of pointer or array types |
|
warning C6508: invalid annotation: write access is not allowed on const values |
|
warning C6509: invalid annotation: 'return' cannot be referenced from a precondition |
|
warning C6510: invalid annotation: NullTerminated property may only be used on values of pointer or array type |
|
warning C6511: invalid annotation: MustCheck property must be Yes or No |
|
warning C6513: invalid annotation: ElementSizeConst requires additional size properties |
|
warning C6514: invalid annotation: value of the <name> property exceeds the size of the array |
|
warning C6515 - invalid annotation: <name> property may only be used on values of pointer type |
|
warning C6516: invalid annotation: no properties specified for <name> attribute |
|
warning C6517: annotation conflict: ValidElementsConst and ValidBytesConst may not be specified on the buffers that are not readable |
|
warning C6518: annotation conflict: WriteableElementsConst and WriteableBytesConst may not be specified on buffers that are not writable |
|
warning C6522: invalid size specification: expression must be of integral type |
|
warning C6525: invalid size specification: property value may not be valid |
|
warning C6526 - invalid size specification: expression must be of array or pointer type |
|
warning C6527: Invalid annotation: “NeedsRelease” property may not be used on values of void type |
|
warning 6530: unrecognized format string style <name> |
|
warning C6540: The use of attribute annotations on this function will invalidate all of its existing __declspec annotations |
|
warning C6551: Invalid size specification: expression not parsable |
|
warning C6552: Invalid Deref= or Notref=: expression not parsable |
|
warning C6701: The value is not a valid Yes/No/Maybe value: <string> |
|
warning C6702: The value is not a string value: <string> |
|
warning C6703: The value is not a number: <string> |
|
warning C6704: Unexpected Annotation Expression Error: <annotation> [<why>] |
|
warning C6705: Annotation error expected <expected_number> arguments for annotation <parameter> found <actual_number>. |
|
warning C6706: Unexpected Annotation Error for annotation <annotation>: <why> |
|
warning C6707: Unexpected Model Error: <why> |
|
warning C26100: Race condition. Variable <var> should be protected by lock <lock>. |
|
warning C26101: Failing to use interlocked operation properly for variable <var>. |
|
warning C26105: Lock order violation. Acquiring lock <lock> with level <level> causes order inversion. |
|
warning C26110: Caller failing to hold lock <lock> before calling function <func>. |
|
warning C26111: Caller failing to release lock <lock> before calling function <func>. |
|
warning C26112: Caller cannot hold any lock before calling <func>. |
|
warning C26115: Failing to release lock <lock> in function <func>. |
|
warning C26116: Failing to acquire or to hold <lock> in <func>. |
|
warning C26117: Releasing unheld lock <lock> in function <func>. |
|
warning C26130: Missing annotation _Requires_lock_held_(<lock>) or _No_competing_thread_ at function <func>. Otherwise it could be a race condition. Variable <var> should be protected by lock <lock>. |
|
warning C26135: Missing annotation <annotation> at function <func>. |
|
warning C26140: Concurrency SAL annotation error. |
|
warning C26160: Caller possibly failing to hold lock <lock> before calling function <func>. |
|
warning C26165: Possibly failing to release lock <lock> in function <func>. |
|
warning C26166: Possibly failing to acquire or to hold lock <lock> in function <func>. |
|
warning C26167: Possibly releasing unheld lock <lock> in function <func>. |
|
warning C28020: The expression <expr> is not true at this call |
|
warning C28021: The parameter <param> being annotated with <anno> must be a pointer |
|
warning C28022: The function class(es) <classlist1> on this function do not match the function class(es) <classlist2> on the typedef used to define it. |
|
warning C28023: The function being assigned or passed should have a _Function_class_ annotation for at least one of the class(es) in: <classlist> |
|
warning C28024: The function pointer being assigned to is annotated with the function class <class>, which is not contained in the function class(es) <classlist>. |
|
warning C28039: The type of actual parameter <operand> should exactly match the type <typename> |
|
warning C28103: Leaking resource |
|
warning C28104: Resource that should have been acquired before function exit was not acquired |
|
warning C28105: Leaking resource due to an exception |
|
warning C28106: Variable already holds resource possibly causing leak |
|
warning C28107: Resource must be held when calling function |
|
warning C28108: Variable holds an unexpected resource |
|
warning C28109: Variable cannot be held at the time function is called |
|
warning C28112: A variable which is accessed via an Interlocked function must always be accessed via an Interlocked function |
|
warning C28113: Accessing a local variable via an Interlocked function |
|
warning C28125: The function must be called from within a try/except block |
|
warning C28137: The variable argument should instead be a (literal) constant |
|
warning C28138: The constant argument should instead be variable |
|
warning C28159: Consider using another function instead. |
|
warning C28160: Error annotation |
|
warning C28163: The function should never be called from within a try/except block |
|
warning C28164: The argument is being passed to a function that expects a pointer to an object (not a pointer to a pointer) |
|
Dereferencing NULL pointer |
|
warning C28183: The argument could be one value, and is a copy of the value found in the pointer |
|
warning C28193: The variable holds a value that must be examined |
|
warning C28194: The function was declared as aliasing the value in variable and exited without doing so |
|
warning C28195: The function was declared as acquiring memory in a variable and exited without doing so |
|
warning C28196: The requirement is not satisfied. (The expression does not evaluate to true.) |
|
warning C28197: Possibly leaking memory |
|
warning C28198: Possibly leaking memory due to an exception. |
|
warning C28199: Using possibly uninitialized memory |
|
warning C28202: Illegal reference to non-static member |
|
warning C28203: Ambiguous reference to class member. Could be <name1> or <name2> |
|
warning C28204: <function> : Only one of this overload and the one at <filename>(<line>) are annotated for <paramname>: both or neither must be annotated. |
|
warning C28205: function> : _Success_ or _On_failure_ used in an illegal context: <why> |
|
warning C28206: <expression> : left operand points to a struct, use -> |
|
warning C28207: <expression>: left operand is a struct, use “.” |
|
warning C28208: Function <function> was previously defined with a different parameter list at <file>(<line>). Some analysis tools will yield incorrect results |
|
warning C28209: The declaration for symbol has a conflicting declaration |
|
warning 28210: Annotations for the _On_failure_ context must not be in explicit pre context |
|
warning C28211: Static context name expected for SAL_context |
|
warning C28212: Pointer expression expected for annotation |
|
warning C28213: The _Use_decl_annotations_ annotation must be used to reference, without modification, a prior declaration. <why> |
|
warning C28214: Attribute parameter names must be p1...p9 |
|
warning C28215: The typefix cannot be applied to a parameter that already has a typefix |
|
warning C28216: The _Check_return_ annotation only applies to post-conditions for the specific function parameter. |
|
warning 28217: For function, the number of parameters to annotation does not match that found at file |
|
warning C28218: For function parameter, the annotation's parameter does not match that found at file |
|
warning C28119: Member of enumeration expected for annotation the parameter in the annotation |
|
warning C28220: Integer expression expected for annotation the parameter in the annotation |
|
warning C28221: String expression expected for the parameter in the annotation |
|
warning 28222: _Yes_, _No_, or _Maybe_ expected for annotation |
|
warning C28223: Did not find expected Token/identifier for annotation, parameter |
|
warning C28224: Annotation requires parameters |
|
warning C28225: Did not find the correct number of required parameters in annotation |
|
warning C28226: Annotation cannot also be a PrimOp (in current declaration) |
|
warning C28227: Annotation cannot also be a PrimOp (see prior declaration) |
|
warning C28228: Annotation parameter: cannot use type in annotations |
|
warning C28229: Annotation does not support parameters |
|
warning C28230: The type of parameter has no member. |
|
warning C28231: Annotation is only valid on array |
|
warning C28232: _Pre_, _Post_, or _Deref_ not applied to any annotation |
|
warning C28233: pre, post, or deref applied to a block |
|
warning C28234: _At_ expression does not apply to current function |
|
warning C28235: The function cannot stand alone as an annotation |
|
warning C28236: The annotation cannot be used in an expression |
|
warning C28237: The annotation on parameter is no longer supported |
|
warning C28238: The annotation on parameter has more than one of value, stringValue, and longValue. Use paramn=xxx |
|
warning 28239: The annotation on parameter has both value, stringValue, or longValue; and paramn=xxx. Use only paramn=xxx |
|
warning 28240: The annotation on parameter has param2 but no param1 |
|
warning C28241: The annotation for function on parameter is not recognized |
|
warning C28343: The annotation for function on parameter requires more dereferences than the actual type annotated allows |
|
warning C28244: The annotation for function has an unparseable parameter/external annotation |
|
warning C28245: The annotation for function annotates 'this' on a non-member-function |
|
warning C28246: The annotation for function '<name>' - parameter '<parameter>' does not match the type of the parameter |
|
warning C28250: Inconsistent annotation for function: the prior instance has an error. |
|
warning C28251: Inconsistent annotation for function: this instance has an error |
|
warning C28252: Inconsistent annotation for function: parameter has another annotation on this instance |
|
warning C28253: Inconsistent annotation for function: parameter has another annotations on this instance |
|
warning C28254: dynamic_cast<>() is not supported in annotations |
|
warning C28262: A syntax error in the annotation was found in function <function> for annotation <name> |
|
warning C28263: A syntax error in a conditional annotation was found for Intrinsic annotation |
|
warning C28267: A syntax error in the annotations was found annotation <name> in the function <function>. |
|
warning C28272: The annotation for function, parameter when examining is inconsistent with the function declaration |
|
warning C28273: For function, the clues are inconsistent with the function declaration |
|
warning C28275: The parameter to _Macro_value_ is null |
|
warning C28278: Function name appears with no prototype in scope. |
|
warning C28279: For symbol, a 'begin' was found without a matching 'end' |
|
warning C28280: For symbol, an 'end' was found without a matching 'begin' |
|
warning C28282: Format Strings must be in preconditions |
|
warning C28283: For symbol, the specified size specification is not yet supported |
|
warning C28284: For symbol, Predicates are currently not supported for non-function symbols |
|
warning C28285: For function, syntax error in parameter |
|
warning C28286: For function, syntax error near the end |
|
warning C28287: For function, syntax Error in _At_() annotation (unrecognized parameter name) |
|
warning C28288: For function, syntax Error in _At_() annotation (invalid parameter name) |
|
warning C28289: For function: ReadableTo or WritableTo did not have a limit-spec as a parameter |
|
warning C28290: the annotation for function contains more Externals than the actual number of parameters |
|
warning C28291: post null/notnull at deref level 0 is meaningless for function <function> parameter <number> |
|
warning C28300: <parameter_name>: Expression operands of incompatible types for operator <operator_name> |
|
warning C28301: No annotations for first declaration of <function>.<note1> See <filename>(<line>). <note2> |
|
warning C28302: For C++ reference-parameter <parameter_name>, an extra _Deref_ operator was found on <annotation>. |
|
warning C28303: For C++ reference-parameter <parameter_name>, an ambiguous _Deref_ operator was found on <annotation>. |
|
warning C28304: For C++ reference-parameter <parameter_name>, an improperly placed _Notref_ operator was found applied to <token>. |
|
warning C28305: An error while parsing <token> was discovered. |
|
warning C28306: The annotation on parameter is obsolescent |
|
warning C28307: The annotation on parameter is obsolescent |
|
warning C28308: The format list argument position specified by the annotation is incorrect. |
|
warning 28309: <parameter_name>: Annotation operands must be integer/enum/pointer types. Void operands and C++ overloaded operators are not supported. Floats are approximated as integers. Types: <typelist>. |
|
warning C28350: The annotation <annotation> describes a situation that is not conditionally applicable. |
|
warning C28351: The annotation <annotation> describes where a dynamic value (a variable) cannot be used in the condition. |