出于调试目的,是否可以使用任何宏在类模板函数中打印递归定义的lambda的名称?例如
template <typename T>
class X{
public:
X();
//rest of declaration
private:
//rest of declaration
};
template<typename T> X<T>::X(){
function<void()>someLambda = [] (){
//recursive definition
};
//rest of definition
}
我尝试使用__func__
但是将函数名称打印为operator()
。
答案 0 :(得分:0)
根据你的编译器,可能还有其他符号,gcc有 PRETTY_FUNCTION ,msvc有__FUNCDNAME_(以及其他几个)