2017-11-22 18 views
-1

ラムダ関数名をC++で取得する方法。以下の例では、 "blabla"を取得する必要があります。他のgccマクロは良いものを与えません。C++/gccでラムダ関数名を取得するには?

int main(int argc, char* argv[]) 
{ 
auto blabla = []()->void{ 
    cout << __func__ << endl; // operator() 
    cout << __FUNCTION__ << endl; // operator() 
    cout << __PRETTY_FUNCTION__ << endl; // main(int, char**)::<lambda()> 
}; 
blabla(); 
} 
+0

その名前で何をしたいですか? – songyuanyao

+0

それを印刷しますが、私はそれらをラムダ関数にコピー・ペーストしたくないです。 – Levi

+0

'auto hoo = blabla'のようなことをしたら、何をしたいですか? – ymonad

答えて

0

ラムダ関数はunnamed functionです。また、blablaは、ラムダsを埋め込んだ変数であり、呼び出すには()演算子があります。

関連する問題