Compiler Warnings C4600 Through C4799
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Warnings C4600 Through C4799.
The articles in this part of the documentation contain information about a subset of the Visual C++ compiler warnings. You can access the information here or, in the Output window in Visual Studio, you can select an error number and then press the F1 key.
| Warning | Message |
|---|---|
| Compiler Warning (level 1) C4600 | #pragma 'macro name': expected a valid non-empty string |
| Compiler warning (level 1) C4602 | #pragma pop_macro: 'macro name' no previous #pragma push_macro for this identifier |
| Compiler warning (level 1) C4603 | '<identifier>': macro is not defined or definition is different after precompiled header use |
| Compiler Warning (level 1) C4606 | #pragma warning: 'warning number' ignored; Code Analysis warnings are not associated with warning levels |
| Compiler Warning (level 3) C4608 | 'union_member' has already been initialized by another union member in the initializer list, 'union_member' |
| Compiler warning (level 3) C4609 | '%$S' derives from default interface '%$S' on type '%$S'. Use a different default interface for '%$S', or break the base/derived relationship. |
| Compiler Warning (level 4) C4610 | object 'class' can never be instantiated - user defined constructor required |
| Compiler Warning (level 4) C4611 | interaction between 'function' and C++ object destruction is non-portable |
| Compiler warning (level 1) C4612 | error in include filename |
| Compiler warning (level 1) C4613 | '%$S': class of segment cannot be changed |
| Compiler Warning (level 1) C4615 | #pragma warning: unknown user warning type |
| Compiler Warning (level 1) C4616 | #pragma warning: warning number 'number' not a valid compiler warning |
| Compiler Warning (level 1) C4618 | pragma parameters included an empty string; pragma ignored |
| Compiler Warning (level 3) C4619 | #pragma warning: there is no warning number 'number' |
| Compiler warning (level 1) C4620 | no postfix form of 'operator ++' found for type 'type', using prefix form |
| Compiler Warning (level 1) C4621 | no postfix form of 'operator --' found for type 'type', using prefix form |
| Compiler warning (level 3) C4622 | overwriting debug information formed during creation of the precompiled header in object file: 'file' |
| Compiler Warning (level 4) C4623 | 'derived class': default constructor was implicitly defined as deleted because a base class default constructor is inaccessible or deleted |
| Compiler Warning (level 1) C4624 | 'derived class': destructor was implicitly defined as deleted because a base class destructor is inaccessible or deleted |
| Compiler Warning (level 4) C4625 | 'derived class': copy constructor was implicitly defined as deleted because a base class copy constructor is inaccessible or deleted |
| Compiler Warning (level 4) C4626 | 'derived class': assignment operator was implicitly defined as deleted because a base class assignment operator is inaccessible or deleted |
| Compiler Warning (level 1) C4627 | '<identifier>': skipped when looking for precompiled header use |
| Compiler Warning (level 1) C4628 | digraphs not supported with -Ze. Character sequence 'digraph' not interpreted as alternate token for '%s' |
| Compiler warning (level 4) C4629 | digraph used, character sequence 'digraph' interpreted as token 'char' (insert a space between the two characters if this is not what you intended) |
| Compiler Warning (level 1) C4630 | 'symbol': 'extern' storage-class specifier illegal on member definition |
| Compiler warning (level 2) C4631 | MSXML or XPath unavailable, XML document comments will not be processed. reason |
| Compiler Warning (level 1) C4632 | XML document comment: file - access denied: reason |
| Compiler Warning (level 3) C4633 | XML document comment target: error: reason |
| Compiler warning (level 4) C4634 | XML document comment target: cannot be applied: reason |
| Compiler warning (level 3) C4635 | XML document comment target: badly-formed XML: reason |
| Compiler warning (level 3) C4636 | XML document comment applied to construct: tag requires non-empty 'attribute' attribute. |
| Compiler warning (level 3 and level 4) C4637 | XML document comment target: <include> tag discarded. Reason |
| Compiler warning (level 3) C4638 | XML document comment target: reference to unknown symbol 'symbol'. |
| Compiler Warning (level 4) C4639 | MSXML error, XML document comments will not be processed. Reason |
| Compiler Warning (level 3) C4640 | 'instance': construction of local static object is not thread-safe |
| Compiler Warning (level 3) C4641 | XML document comment has an ambiguous cross reference: |
| Compiler warning (level 3) C4645 | function declared with __declspec(noreturn) has a return statement |
| Compiler warning (level 3) C4646 | function declared with __declspec(noreturn) has non-void return type |
| Compiler Warning (level 1) C4650 | debugging information not in precompiled header; only global symbols from the header will be available |
| Compiler Warning (level 1) C4651 | 'definition' specified for precompiled header but not for current compile |
| Compiler Warning (level 1) C4652 | compiler option 'option' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header |
| Compiler Warning (level 2) C4653 | compiler option 'option' inconsistent with precompiled header; current command-line option ignored |
| Compiler warning (level 1) C4655 | 'symbol': variable type is new since the latest build, or is defined differently elsewhere |
| Compiler Warning (level 1) C4656 | 'symbol': data type is new or has changed since the latest build, or is defined differently elsewhere |
| Compiler warning (level 1) C4657 | expression involves a data type that is new since the latest build |
| Compiler warning (level 1) C4658 | 'function': function prototype is new since the latest build, or is declared differently elsewhere |
| Compiler Warning (level 1) C4659 | #pragma 'pragma': use of reserved segment 'segment' has undefined behavior, use #pragma comment(linker, ...) |
| Compiler Warning (level 1) C4661 | 'identifier': no suitable definition provided for explicit template instantiation request |
| Compiler warning (level 1) C4662 | explicit instantiation; template-class 'identifier1' has no definition from which to specialize 'identifier2' |
| Compiler Warning (level 1) C4667 | 'function': no function template defined that matches forced instantiation |
| Compiler Warning (level 4) C4668 | 'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directive' |
| Compiler Warning (level 1) C4669 | 'cast': unsafe conversion: 'class' is a managed type object |
| Compiler warning (level 4) C4670 | 'identifier': this base class is inaccessible |
| Compiler warning (level 4) C4671 | 'identifier': the copy constructor is inaccessible |
| Compiler warning (level 4) C4672 | 'identifier1': ambiguous. First seen as 'identifier2' |
| Compiler Warning (level 4) C4673 | throwing 'identifier' the following types will not be considered at the catch site |
| Compiler warning (level 1) C4674 | 'method' should be declared 'static' and have exactly one parameter |
| Compiler warning (level 4) C4676 | '%s': the destructor is inaccessible |
| Compiler Warning (level 1) C4677 | 'function': signature of non-private member contains assembly private type 'private_type' |
| Compiler warning (level 1) C4678 | base class 'base_type' is less accessible than 'derived_type' |
| Compiler Warning (level 1) C4679 | 'member': could not import member |
| Compiler Warning (level 4) C4680 | 'class': coclass does not specify a default interface |
| Compiler warning (level 4) C4681 | 'class': coclass does not specify a default interface that is an event source |
| Compiler warning (level 4) C4682 | 'parameter': no directional parameter attribute specified, defaulting to [in] |
| Compiler Warning (level 1) C4683 | 'function': event source has an 'out'-parameter; exercise caution when hooking multiple event handlers |
| Compiler Warning (level 1) C4684 | 'attribute': WARNING!! attribute may cause invalid code generation: use with caution |
| Compiler warning (level 1) C4685 | expecting '> >' found '>>' when parsing template parameters |
| Compiler Warning (level 3) C4686 | 'user-defined type': possible change in behavior, change in UDT return calling convention |
| Compiler Warning C4687 | 'class': a sealed abstract class cannot implement an interface 'interface' |
| Compiler warning (level 1) C4688 | 'constraint': constraint list contains assembly private type 'type' |
| Compiler warning (level 1) C4689 | '%c': unsupported character in #pragma detect_mismatch; #pragma ignored |
| Compiler warning (level 4) C4690 | [ emitidl( pop ) ]: more pops than pushes |
| Compiler Warning (level 1) C4691 | 'type': type referenced was expected in unreferenced assembly 'file', type defined in current translation unit used instead |
| Compiler Warning (level 1) C4692 | 'function': signature of non-private member contains assembly private native type 'native_type' |
| Compiler warning (level 1) C4693 | 'class': a sealed abstract class cannot have any instance members 'instance member' |
| Compiler warning (level 1) C4694 | 'class': a sealed abstract class cannot have a base-class 'base_class' |
| Compiler warning (level 1) C4695 | #pragma execution_character_set: 'character set' is not a supported argument: currently only 'UTF-8' is supported |
| Compiler warning (level 1) C4696 | /ZBvalue1 option out of range; assuming 'value2' |
| Compiler Warning (level 1 and level 4) C4700 | uninitialized local variable 'name' used |
| Compiler Warning (level 4) C4701 | potentially uninitialized local variable 'name' used |
| Compiler Warning (level 4) C4702 | unreachable code |
| Compiler Warning (level 4) C4703 | potentially uninitialized local pointer variable '%s' used |
| Compiler Warning (level 4) C4706 | assignment within conditional expression |
| Compiler Warning (level 4) C4709 | comma operator within array index expression |
| Compiler Warning (level 4) C4710 | 'function': function not inlined |
| Compiler Warning (level 1) C4711 | function 'function' selected for automatic inline expansion |
| Compiler Warning (level 4) C4714 | function 'function' marked as __forceinline not inlined |
| Compiler Warning (level 1) C4715 | 'function': not all control paths return a value |
| Compiler Warning (level 1) C4716 | 'function': must return a value |
| Compiler Warning (level 1) C4717 | 'function': recursive on all control paths, function will cause runtime stack overflow |
| Compiler warning (level 4) C4718 | 'function call': recursive call has no side effects, deleting |
| Compiler warning (level 1) C4719 | Double constant found when Qfast specified - use 'f' as a suffix to indicate single precision |
| Compiler warning (level 2) C4720 | in-line assembler reports: 'message' |
| Compiler warning (level 1) C4721 | 'function': not available as an intrinsic |
| Compiler warning (level 1) C4722 | 'function': destructor never returns, potential memory leak |
| Compiler Warning (level 3) C4723 | potential divide by 0 |
| Compiler warning (level 3) C4724 | potential mod by 0 |
| Compiler warning (level 3) C4725 | instruction may be inaccurate on some Pentiums |
| Compiler Warning (level 1) C4727 | PCH named pch_file with same timestamp found in obj_file_1 and obj_file_2. Using first PCH. |
| Compiler warning (level 1) C4728 | /Yl- option ignored because PCH reference is required |
| Compiler warning (level 4) C4729 | function too big for flow graph based warnings |
| Compiler Warning (Level 1) C4730Compiler warning (level 1) C4730 | 'main': mixing _m64 and floating point expressions may result in incorrect code |
| Compiler Warning (Level 1) C4731 | 'pointer': frame pointer register 'register' modified by inline assembly code |
| Compiler warning (level 1) C4732 | intrinsic '%s' is not supported in this architecture |
| Compiler Warning (Level 1) C4733 | Inline asm assigning to 'FS:0': handler not registered as safe handler |
| Compiler Warning (Level 3) C4738 | storing 32-bit float result in memory, possible loss of performance |
| Compiler warning (level 1) C4739 | reference to variable 'var' exceeds its storage space |
| Compiler Warning (Level 4) C4740 | flow in or out of inline asm code suppresses global optimization |
| Compiler Warning (Level 1) C4742 | 'var' has different alignment in 'file1' and 'file2': number and number |
| Compiler Warning (Level 1) C4743 | 'type' has different size in 'file1' and 'file2': number and number bytes |
| Compiler Warning (Level 1) C4744 | 'var' has different type in 'file1' and 'file2': 'type1' and 'type2' |
| Compiler Warning C4746 | volatile access of '%s' is subject to /volatile:<iso|ms> setting; consider using __iso_volatile_load/store intrinsic functions |
| Compiler Warning (level 1) C4747 | Calling managed 'entrypoint': Managed code may not be run under loader lock, including the DLL entrypoint and calls reached from the DLL entrypoint |
| Compiler warning (level 1) C4750 | 'identifier': function with _alloca() inlined into a loop |
| Compiler warning (level 4) C4751 | /arch:AVX does not apply to Intel(R) Streaming SIMD Extensions that are within inline ASM |
| Compiler warning (level 4) C4752 | found Intel(R) Advanced Vector Extensions; consider using /arch:AVX |
| Compiler warning (level 4) C4754 | Conversion rules for arithmetic operations in the comparison at %s(%d) mean that one branch cannot be executed. Cast '%s' to '%s' (or similar type of %d bytes). |
| Compiler warning C4755 | Conversion rules for arithmetic operations in the comparison at %s(%d) mean that one branch cannot be executed in an inlined function. Cast '%s' to '%s' (or similar type of %d bytes). |
| Compiler Warning (level 2) C4756 | overflow in constant arithmetic |
| Compiler warning (level 4) C4757 | subscript is a large unsigned value, did you intend a negative constant? |
| Compiler warning (level 4) C4764 | Can not align catch objects to greater than 16 bytes |
| Compiler warning (level 4) C4767 | section name '%s' is longer than 8 characters and will be truncated by the linker |
| Compiler warning C4770 | partially validated enum '%s' used as index |
| Compiler Warning (level 1) C4772 | #import referenced a type from a missing type library; 'missing_type' used as a placeholder |
| Compiler Warning (Level 1) C4788 | 'identifier': identifier was truncated to 'number' characters |
| Compiler Warning (Level 1) C4789 | buffer 'identifier' of size N bytes will be overrun; M bytes will be written starting at offset L |
| Compiler warning (level 2) C4792 | function '%s' declared using sysimport and referenced from native code; import library required to link |
| Compiler Warning (level 1 and 3) C4793 | 'function': function compiled as native:\n\t'reason' |
| Compiler warning (level 1) C4794 | segment of thread local storage variable '%s' changed from '%s' to '%s' |
| Compiler Warning (level 1) C4799 | function 'function' has no EMMS instruction |
Show: