函数指针的问题
全局定义:
typedef LRESULT(CALLBACK* MyProc)(DWORD, DWORD);
class MyClass
{
public:
void Do()
{
MyProc p1 = Proc;
MyProc p2 = MyClass::Proc;
MyProc p3 = &MyClass::Proc;
typedef LRESULT (CALLBACK MyClass::*TMP)(DWORD, DWORD);
TMP p4 = &MyClass::Proc;
TMP p5 = this->Proc;
TMP p6 = &Proc;
p4(0, 0);
}
LRESULT CALLBACK Proc(DWORD, DWORD)
{
return 0;
}
}
在以上代码中,DO函数的6个变量只有p4能编译通过,但调用p4(0,0)失败。
typedef LRESULT(CALLBACK* MyProc)(DWORD, DWORD);
class MyClass
{
public:
void Do()
{
MyProc p1 = Proc;
MyProc p2 = MyClass::Proc;
MyProc p3 = &MyClass::Proc;
typedef LRESULT (CALLBACK MyClass::*TMP)(DWORD, DWORD);
TMP p4 = &MyClass::Proc;
TMP p5 = this->Proc;
TMP p6 = &Proc;
p4(0, 0);
}
LRESULT CALLBACK Proc(DWORD, DWORD)
{
return 0;
}
}
在以上代码中,DO函数的6个变量只有p4能编译通过,但调用p4(0,0)失败。
...全文
相关推荐
关于在 C 语言结构体中使用函数指针的问题
结构体是 C 语言中一个非常重要的自定义数据类型,它描述了一系列相同类型或不同类型数据构成的数据集合。但是在 C 语言的结构体成员却不能是函数,针对这一问题,本文分析探讨了将函数指针作为结构体成员的理论和方法。通过在结构体中定义函数指针类型的成员,从而实现了在结构体中使用函数的目的。
[Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象
欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。第三篇文章将讲解语法基础知识,包括文件操作、CSV文件读写及面向对象。
贴子中的函数指针无法编译的例子的附件
贴子中的函数指针无法编译的例子的附件 VC6工程文件
函数指针和函数指针数组的使用
本文介绍的函数指针以及函数指针数组解决了实际程序编写过程中遇到的当在多种情况情况下调研多个函数的问题。
C++中的函数指针与函数对象的总结
以下是对C++中的函数指针与函数对象的使用进行了详细的分析介绍,需要的朋友可以参考下


