假设我有两个函数,一个是静态的,一个是非静态的,如下所示,
#define PRINT_INFO(__FUNCTION__,...) cout<<__FUNCTION__<<__VA_ARGS__
void static fun1();
void fun2();
fun1(){
PRINT_INFO(__FUNCTION__,this)
}
fun2(){
PRINT_INFO(__FUNCTION__,this)
}
fun1()的PRINT_INFO会抛出错误,因为这个&#39;不能用于静态函数。有没有什么方法可以实现上述目标,也就是说,如果函数是非静态的,那么传递&#39;这个&#39;,如果它是静态的,那么不传递任何东西(或者一些虚拟字符串)。
改述我的问题:我想通过这个&#39;如果函数是静态的,如果函数是非静态的则不传递任何函数。但我不想检查我的代码中的所有函数,然后添加&#39;这个&#39;只有非静力学。 我可以动态地知道函数是否是静态的吗?