मैं gcc में अप्रयुक्त लैम्ब्डा अभिव्यक्तियों के लिए चेतावनी कैसे सक्षम करूं?

Aug 18 2020

निम्नलिखित कोड में एक टाइपो है, जहां मैं लैम्ब्डा एक्सप्रेशन को इनवॉइस करना भूल गया ():

#include <iostream>

int main() 
{
    []{ std::cout << "hello"; };
}

सौभाग्य से लांबा -Wunused-valueअभिव्यक्ति के लिए एक चेतावनी जारी करता है , क्योंकि इसका मूल्यांकन / उपयोग कभी नहीं किया जाता है।

हालांकि जीसीसी कोई चेतावनी जारी नहीं करता है। क्या जीसीसी के साथ संकलन करते समय इस छोटी गाड़ी कोड के बारे में चेतावनी देने का कोई तरीका है?

यहां अप्रयुक्त लैम्ब्डा कैप्चर के बारे में एक संबंधित पोस्ट है जो समान है, लेकिन यह प्रश्न अप्रयुक्त लैम्ब्डा अभिव्यक्तियों के लिए है।

जवाब

2 eerorika Aug 18 2020 at 00:12

जीसीसी के पास चेतावनी विकल्प है -Wunusedजो कोड के अप्रयुक्त टुकड़ों के बारे में सभी चेतावनियों को सक्षम करता है। नवीनतम (ट्रंक) जीसीसी विकल्पों के साथ अप्रयुक्त लैम्ब्डा के बारे में चेतावनी नहीं देता है -Wunused -Wall -Wextra। इसलिए मेरा निष्कर्ष यह है कि इस समय जीसीसी में दिखाए गए कार्यक्रम के बारे में चेतावनी देने वाली चेतावनी को सक्षम करने का कोई तरीका नहीं है।