#include <iostream>
class A{
public:
void myfunction(){
std::cout << __func__;
}
};
int main(){
A obj;
obj.myfunction();
}
输出为myfunction
。遗憾的是__funct__
不起作用。如何输出成员函数的完全限定名称,即A::myfunction
?
答案 0 :(得分:9)
没有标准的定义方式。但是,如果您使用的是gcc,则可以使用__PRETTY_FUNCTION__
代替__func__
。
标准C ++(即C ++ 03)没有__func__
或__PRETTY_FUNCTION__
。
C ++ 0x从C99派生__func__
,它在8.4.2 / 8(n3290)中定义
函数本地预定义变量
__func__
被定义为表单的定义提供了
static const char __func__[] = "function-name ";
,其中function-name是一个实现定义的字符串
答案 1 :(得分:3)
正如@Prasoon所说,没有标准的方法
对于Visual Studio,__FUNCTION__
显示完全限定名称。