लोगों के अधिक बढ़िया व्यवहार, मुझे वास्तव में -Wshadow विकल्प पसंद है क्योंकि यह कोड के कुछ संभावित समस्याग्रस्त टुकड़ों को खोजने में मदद करता है। मैं इसे वास्तव में एक बड़ी परियोजना में उपयोग करना चाहता हूं लेकिन मैं इसे सख्त होने के बाद से नहीं कर सकता।जीसीसी -Wshadow विकल्प
struct Foo
{
Foo(int info) : info_(info) {} //shadow warning is here
void info(){ ... }
int info_;
};
gcc
निर्माता जो मेरे लिए एक उपयोगी चेतावनी है ... ठीक है, वास्तव में नहीं के बारे में "पूर्णांक जानकारी" चर छाया "शून्य की जानकारी" विधि एक चेतावनी फेंकता है: उदाहरण के लिए यह निम्नलिखित मामले के लिए एक चेतावनी फेंकता ।
क्या मैं सच के बारे में परवाह निम्नलिखित जैसे मामलों है:
int i = 0;
for(int j=0;j<10;++j)
{
int i = j; //local scope variable "int i" shadows outer scope variable
++i;
}
यह gcc
बनाने के लिए केवल इन मामलों के बारे में चेतावनी संभव है?
वीसी में आप विशिष्ट चेतावनियों को दबाने के लिए '# प्रगमा' निर्देशों का उपयोग कर सकते हैं, स्पष्ट रूप से जीसीसी में आपके पास '-W * 'विकल्प की पर्याप्तता है, लेकिन अब तक मैंने देखा है कि इनमें से कोई भी" जैसे ' Wshadow' लेकिन केवल चर के लिए "। तो मुझे लगता है कि आप वहां भाग्य से बाहर हैं। – Joey
लूप में चर "छाया" भी एक वांछनीय विशेषता के रूप में देखा जाता है, इसके बारे में चेतावनी देने के लिए कुछ नहीं। –
यह दुखद है कि "-Wshadow लेकिन केवल चर के लिए" उपलब्ध नहीं है :( – pachanga