Gcc'de kullanılmayan lambda ifadeleri için bir uyarıyı nasıl etkinleştiririm?

Aug 18 2020

Aşağıdaki kodda , lambda ifadesini şu şekilde çağırmayı unuttuğum bir yazım hatası var ():

#include <iostream>

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

Neyse ki clang -Wunused-value, lambda ifadesi için bir uyarı verir, çünkü hiç değerlendirilmez / kullanılmaz.

Ancak gcc herhangi bir uyarı vermez. Gcc ile derlerken bu bugy kodu hakkında uyarmanın bir yolu var mı?

Kullanılmayan lambda yakalamaları hakkında benzer bir gönderi var burada , ancak bu soru kullanılmayan lambda ifadelerinin kendileri içindir.

Yanıtlar

2 eerorika Aug 18 2020 at 00:12

GCC, -Wunusedkullanılmayan kod parçaları hakkında tüm uyarıları etkinleştiren uyarı seçeneğine sahiptir. En son (gövde) GCC, seçeneklerle kullanılmayan lambda hakkında uyarmaz -Wunused -Wall -Wextra. Bu nedenle, şu anda GCC'de gösterilen program hakkında uyaran bir uyarıyı etkinleştirmenin bir yolu olmadığı sonucuna varıyorum.