2011-11-09 19 views
11

मैं एक संरचना पर एक सूचक प्राप्त करने के लिए एक समारोह करना चाहता हूँ। मैंने यह किया: warning: variable ‘list’ set but not used [-Wunused-but-set-variable]जीसीसी चेतावनी छुपाएं "सेट लेकिन उपयोग नहीं किया गया"?

यह इस समारोह (केवल इस एक) के लिए यह चेतावनी अक्षम करें, या एक जीसीसी पर विशेषता डाल करने के लिए संभव है:

void *getTokenList() { 
    static t_token *list; 

    return &list; 
} 

संकलन में, मैं यह चेतावनी है इस चेतावनी को छिपाने के लिए यह चर?

मैंने अपनी फ़ाइल के शीर्ष पर #pragma GCC diagnostic ignored "-Wunused-but-set-variable" डाल दिया था, लेकिन मैं इस फ़ंक्शन में केवल इस चर के लिए इस चेतावनी को छिपाना चाहता हूं।

धन्यवाद, जीन

+1

जीसीसी का कौन सा संस्करण दे रहा है कि? मेरा (जीसीसी 4.5.2) नहीं है। यह निश्चित रूप से फर्जी है, अगर आप वास्तव में कॉलर को उस चर के पते को वापस कर देते हैं। –

+0

'' 'मैंने अपनी फाइल' '' के शीर्ष पर '#pragma जीसीसी डायग्नोस्टिक अनदेखा "-उन्यूज्ड-लेकिन-सेट-वैरिएबल" रखा था, यह एक बड़ी चाल है। यह मेरे लिए पूरी तरह से काम करता है क्योंकि अप्रयुक्त वैरिएबल एक बाहरी डेवलपर से ली गई फ़ाइल में थे और मैं इसमें न्यूनतम परिवर्तन जोड़ना चाहता था ... –

उत्तर

15

आप इसे बंद करने के लिए इस का उपयोग कर सकते हैं:

(void)list; 

वैकल्पिक रूप से और कम portably आप __attribute__((unused)) उपयोग कर सकते हैं।

+0

+1 हालांकि __attribute __ ((अप्रयुक्त)) बहुत स्पष्ट है, यह निश्चित रूप से पोर्टेबल नहीं है ! – Macmade

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

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