从类外调用成员函数指针-这可能吗



假设我有一个类,其中声明了一个成员函数指针:

bool (myclass::*secspec_goutmsg)(char* msg , int n) ;

我可以在某个地方声明一个方法,它只需调用这个函数指针并返回结果

bool custom_gui(char* msg , int n)
{
if (secspec_goutmsg !=NULL)
return (*this.*secspec_goutmsg)(msg , n) ;
else
return false ;
}

但是,是否可以直接从类外部调用此函数指针,从而消除本质上是包装器的方法?像这样的东西

(*myclassinstance.*(myclass::secspec_goutmsg))(msg , n) ;

甚至不编译。

是的,但您正在寻找:

(myclassinstance.*myclassinstance.secspec_goutmsg)(msg, n);

或者从注释中,如果myclassinstance是指针

(myclassinstance->*myclassinstance->secspec_goutmsg)(msg, n);

相关内容

  • 没有找到相关文章

最新更新