8

के लिए काम नहीं करता है मेरे पास परीक्षण के लिए कुछ कोड है कि मैंने शेष कोड को आगे बढ़ाया है, इसलिए बाकी परीक्षण में कभी नहीं पहुंच पाएंगे। के बाद से मैं स्तर 4 सेट चेतावनी है, यह एक c4702 में परिणाम है: पहुँच योग्य नहीं-कोड चेतावनीअक्षम चेतावनी c4702 वीएस 2012

मैं इस तरह अक्षम करने की कोशिश की:

//do something 
    return 0; 

    /*-------------------------------------------------------------------------*/ 

#pragma warning(disable: 4702) 
    //real code 

लेकिन संकलक अभी भी moans। और क्योंकि मैं एक त्रुटि के रूप में हर चेतावनी के इलाज के लिए निर्धारित किया है, यह संकलन नहीं होगा ...

मैं Visual Studio 2012 प्रीमियम ...

किसी भी मदद की ख़ुशी से सराहना की जाएगी उपयोग कर रहा हूँ।

उत्तर

17

आपको शायद इसके बजाय प्रभावित फ़ंक्शन की शुरुआत से पहले प्रगा को रखने की आवश्यकता है।

रेंज 4700-4999, जो कोड पीढ़ी के साथ जुड़े होते हैं में चेतावनी नंबर के लिए, प्रभाव में चेतावनी के राज्य जब संकलक एक के खुले घुंघराले ब्रेस का सामना करना पड़ता:

से MSDN docs

फ़ंक्शन बाकी के फ़ंक्शन के लिए प्रभावी होगा। 4699 से बड़ी संख्या में चेतावनी की स्थिति को बदलने के लिए फ़ंक्शन में चेतावनी प्रज्ञा का उपयोग केवल फ़ंक्शन के अंत के बाद प्रभावी होगा।

उदाहरण के लिए

तो:

#pragma warning(push) 
#pragma warning(disable: 4702) 
bool Do() { 
    return true; 
    return true; // No warning generated 
#pragma warning(pop) 
} 

bool DoDo() { 
    return true; 
    return true; // Generates C4702 
} 
+0

धन्यवाद! यह विजुअल स्टूडियो 2010 पर भी लागू होता है। –

+0

यह विजुअल स्टूडियो 2013 पर भी लागू होता है –

संबंधित मुद्दे