जब आप चेतावनी स्तर के साथ दृश्य स्टूडियो 2010 में निम्नलिखित सी ++ स्रोत फ़ाइल संकलन/W4 सक्षमदृश्य स्टूडियो 2010 (C++): दबाने C4706 अस्थायी रूप से चेतावनी
#include <cstdio> // for printf
#include <cstring> // for strcmp
char str0[] = "Hello";
char str1[] = "World";
int main()
{
int result;
if (result = strcmp(str0, str1)) // line 11
{
printf("Strings are different\n");
}
}
आप निम्नलिखित चेतावनी मिलती है
C4706 चेतावनी: लाइन के लिए सशर्त अभिव्यक्ति
भीतर काम 11.
मैं इस जगह पर इस चेतावनी को ठीक से दबा देना चाहता हूं। निम्नलिखित http://msdn.microsoft.com/en-us/library/2c8f766e(v=VS.100).aspx
तो मैं करने के लिए कोड बदल गया है - उम्मीद कर इस समस्या का समाधान होगा:: तो मैं गूगल की कोशिश की और यह पेज पाया
#include <cstdio> // for printf
#include <cstring> // for strcmp
char str0[] = "Hello";
char str1[] = "World";
int main()
{
int result;
#pragma warning(push)
#pragma warning(disable : 4706)
if (result = strcmp(str0, str1))
#pragma warning(pop)
{
printf("Strings are different\n");
}
}
यह मदद नहीं की।
इस प्रकार या तो मदद नहीं:
#include <cstdio> // for printf
#include <cstring> // for strcmp
char str0[] = "Hello";
char str1[] = "World";
int main()
{
int result;
#pragma warning(push)
#pragma warning(disable : 4706)
if (result = strcmp(str0, str1))
{
#pragma warning(pop)
printf("Strings are different\n");
}
}
एक और जांच से बचने के लिए: मैं प्रत्येक संकलन से पहले समाधान की सफाई की। तो यह शायद गलती नहीं है।
तो निष्कर्ष में: मैं इस जगह पर सी 4706 को कैसे दबा सकता हूं?
संपादित हाँ, नए सिरे से लिखना संभव है - लेकिन मैं सच में जानना क्यों तरह से मैं चेतावनी (कि MSDN पर आधिकारिक तौर पर दर्ज है) काम नहीं करता है दबाने की कोशिश चाहते हैं - जहां गलती है?
सबसे compilers कोष्ठक की एक अतिरिक्त जोड़ी की आवश्यकता द्वारा "क्या आप सुनिश्चित हैं" कारक लागू, मैं MSVC भी ऐसा ही पाती। – Thomas