672 | | ||Warning #||Warning||Suggestions||Suppression|| |
673 | | |
674 | | ||1||C4512|| assignment operator could not be generated||Suppress using push'n'pop for the module(s) causing the warning.||//# pragma warning(disable: 4512) // assignment operator could not be generated.|| |
675 | | |
676 | | ||2|| C4996||'putenv': The POSIX name for this item is deprecated.||Many other messages about using secure versions.Unless you believe that the 'secure' versions are useful, suppress.||# pragma warning(disable: 4996) // '' was declared deprecated. |
677 | | || |
678 | | |
679 | | ||3||C4127|| conditional expression is constant||Very common and many believe unhelpful, but a few find it informative, so do not suppress globally. Even while(true) can trigger this! Suppress.|| # pragma warning(disable: 4127) // conditional expression is constant.|| |
680 | | |
681 | | ||4||C4100|| unreferenced formal parameter||Either surround the parameter with C comments, for example: int */ my_variable */)or just delete if the variable name is uninformative.|||| |
682 | | |
683 | | 5 C4701 local variable may be used without having been initialized |
684 | | |
685 | | Best is to recode to avoid the message, but if you are '''very''' sure the message is misleading, suppress. |
686 | | |
687 | | # pragma warning(disable: 4701) // local variable may be used without having been initialized |
688 | | |
689 | | 6 c4511 copy constructor could not be generated |
690 | | |
691 | | This can almost certainly be suppressed. |
692 | | # pragma warning(disable: 4511) // copy constructor could not be generated |
693 | | |
694 | | 7 C4180 qualifier applied to function type has no meaning; ignored |
695 | | |
696 | | This can always be suppressed - but check that you didn't mean to put the const somewhere else. |
697 | | |
698 | | 8 C4702 unreachable code |
699 | | |
700 | | Be very cautious about suppressing this, but use of macros may make this troublesome, |
701 | | so suppress with care, and always locally. |
702 | | |
703 | | #pragma warning(disable: 4702) // unreachable code |
704 | | |
705 | | 9 C4189 local variable is initialized but not referenced |
706 | | |
707 | | This probably indicates a redundant variable and assignment, so probably remove it. |
708 | | |
709 | | If you sure it is required (or has negligible cost for some documentation benefit), suppress. |
710 | | |
711 | | 10 C4224 nonstandard extension used : formal parameter 'arg' was previously defined as a type. |
712 | | |
713 | | This will bite users who try to compile with Microsoft extensions disabled. |
714 | | So is most undesirable, but may be a major nuisance to change the names in code. |
715 | | However fixing is the Right Thing, but meanwhile suppressing may be helpful. |
716 | | |
717 | | # pragma warning(disable: 4224) // formal parameter 'arg' was previously defined as a type. |
718 | | |
719 | | 11 C4510 default constructor could not be generated |
720 | | |
721 | | Suppress. |
722 | | |
723 | | 12 C4800 int' : forcing value to bool 'true' or 'false' |
724 | | |
725 | | Suppress. |
726 | | |
727 | | 13 C4244 // Conversion: possible loss of data. |
728 | | |
729 | | Fix, for example changing type or using static_cast is best, suppress with much caution. |
730 | | |
731 | | # pragma warning(disable:4244) // Conversion: possible loss of data. |
732 | | |
733 | | 14 C4324 structure was padded due to __declspec(align()) |
734 | | |
735 | | Suppress |
736 | | |
737 | | #pragma warning(disable:4324) // structure was padded due to __declspec(align()) |
| 672 | ||Warning||Warning Description||Suggestions||Suppression|| |
| 673 | |
| 674 | ||C4512|| assignment operator could not be generated||Suppress using push'n'pop for the module(s) causing the warning.||//# pragma warning(disable: 4512) // assignment operator could not be generated.|| |
| 675 | |
| 676 | || C4996||'putenv': The POSIX name for this item is deprecated.||Many other messages about using secure versions.Unless you believe that the 'secure' versions are useful, suppress.||# pragma warning(disable: 4996) // '' was declared deprecated.|| |
| 677 | |
| 678 | ||C4127|| conditional expression is constant||Very common and many believe unhelpful, but a few find it informative, so do not suppress globally. Even while(true) can trigger this! Suppress.|| # pragma warning(disable: 4127) // conditional expression is constant.|| |
| 679 | |
| 680 | ||C4100|| unreferenced formal parameter||Either surround the parameter with C comments, for example: int */ my_variable */)or just delete if the variable name is uninformative.|||| |
| 681 | |
| 682 | || C4701|| local variable may be used without having been initialized||Best is to recode to avoid the message, but if you are '''very''' sure the message is misleading, suppress.|| # pragma warning(disable: 4701) // local variable may be used without having been initialized|| |
| 683 | |
| 684 | || c4511|| copy constructor could not be generated||This can almost certainly be suppressed.|| # pragma warning(disable: 4511) // copy constructor could not be generated|| |
| 685 | |
| 686 | || C4180|| qualifier applied to function type has no meaning; ignored||This can always be suppressed - but check that you didn't mean to put the const somewhere else.||# pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored|| |
| 687 | |
| 688 | || C4702|| unreachable code||Be very cautious about suppressing this, but use of macros may make this troublesome, so suppress with care, and always locally.|| #pragma warning(disable: 4702) // unreachable code|| |
| 689 | |
| 690 | || C4189|| local variable is initialized but not referenced||This probably indicates a redundant variable and assignment, so probably remove it.If you sure it is required (or has negligible cost for some documentation benefit), suppress.|||| |
| 691 | |
| 692 | || C4224|| nonstandard extension used : formal parameter 'arg' was previously defined as a type.||This will bite users who try to compile with Microsoft extensions disabled. So is most undesirable, but may be a major nuisance to change the names in code.However fixing is the Right Thing, but meanwhile suppressing may be helpful.|| # pragma warning(disable: 4224) // formal parameter 'arg' was previously defined as a type.|| |
| 693 | |
| 694 | || C4510|| default constructor could not be generated||Suppress.||# pragma warning(disable: 4510)|| |
| 695 | |
| 696 | || C4800|| int' : forcing value to bool 'true' or 'false'||Suppress.||# pragma warning(disable: 4800) // int' : forcing value to bool 'true' or 'false' |
| 697 | |
| 698 | || C4244 || // Conversion: possible loss of data.||Fix, for example changing type or using static_cast is best, suppress with much caution.|| # pragma warning(disable:4244) // Conversion: possible loss of data.|| |
| 699 | |
| 700 | || C4324|| structure was padded due to __declspec(align())||Suppress||#pragma warning(disable:4324) // structure was padded due to __declspec(align())|| |