显示函数的标准名称

问题描述

|
#include <iostream>
class A{
    public:
    void myfunction(){
        std::cout << __func__; 
    }
};
int main(){
    A obj;
    obj.myfunction();
}
输出为
myfunction
。不幸的是
__funct__
不起作用。如何输出成员函数的全限定名称,即
A::myfunction
?     

解决方法

        没有标准的定义方法。但是,如果您使用的是gcc,则可以使用
__PRETTY_FUNCTION__
代替
__func__
。 标准C ++(即C ++ 03)没有
__func__
__PRETTY_FUNCTION__
。 C ++ 0x从C99派生
__func__
并且在8.4.2 / 8(n3290)中定义   定义函数局部的预定义变量“ 5”,就像形式的定义一样      
static const char __func__[] = \"function-name \";
     已经提供,其中function-name是实现定义的字符串     ,        正如@Prasoon所说,没有标准方法。 对于Visual Studio,“ 11”显示标准名称。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...