मैं gcc में अप्रयुक्त लैम्ब्डा अभिव्यक्तियों के लिए चेतावनी कैसे सक्षम करूं?
निम्नलिखित कोड में एक टाइपो है, जहां मैं लैम्ब्डा एक्सप्रेशन को इनवॉइस करना भूल गया ()
:
#include <iostream>
int main()
{
[]{ std::cout << "hello"; };
}
सौभाग्य से लांबा -Wunused-value
अभिव्यक्ति के लिए एक चेतावनी जारी करता है , क्योंकि इसका मूल्यांकन / उपयोग कभी नहीं किया जाता है।
हालांकि जीसीसी कोई चेतावनी जारी नहीं करता है। क्या जीसीसी के साथ संकलन करते समय इस छोटी गाड़ी कोड के बारे में चेतावनी देने का कोई तरीका है?
यहां अप्रयुक्त लैम्ब्डा कैप्चर के बारे में एक संबंधित पोस्ट है जो समान है, लेकिन यह प्रश्न अप्रयुक्त लैम्ब्डा अभिव्यक्तियों के लिए है।
जवाब
जीसीसी के पास चेतावनी विकल्प है -Wunused
जो कोड के अप्रयुक्त टुकड़ों के बारे में सभी चेतावनियों को सक्षम करता है। नवीनतम (ट्रंक) जीसीसी विकल्पों के साथ अप्रयुक्त लैम्ब्डा के बारे में चेतावनी नहीं देता है -Wunused -Wall -Wextra
। इसलिए मेरा निष्कर्ष यह है कि इस समय जीसीसी में दिखाए गए कार्यक्रम के बारे में चेतावनी देने वाली चेतावनी को सक्षम करने का कोई तरीका नहीं है।