mfc中函数指针的一个问题,求解(50分)

qiuranke 2005-03-29 10:45:09
程序如下:
CTestDoc::Fit(int x, int y, void(*func)(int x))
{

}

CTestDoc::Poly(int x)
{
}

CTestDoc::FitSeq()
{
Fit( x, y, Poly); --->>can't convert void(int) to (void*)(int)
}

如何解决,谢谢.
...全文
207 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfyang 2005-03-29
  • 打赏
  • 举报
回复
Fit( x, y, "Poly");
oyljerry 2005-03-29
  • 打赏
  • 举报
回复
传递函数指针
4inSky 2005-03-29
  • 打赏
  • 举报
回复
void(*func)(int x) 实际上定义的是一个函数指针,你把他当作指针使用就可以了.

他传递的是函数的地址,不是函数名.

楼上的解法是正确的.
legendhui 2005-03-29
  • 打赏
  • 举报
回复
Fit( x, y, &Poly);
mousefj 2005-03-29
  • 打赏
  • 举报
回复
注意MyTestCall里的前两句可以删除。
void CMainFrame::MyTestCall()
{
TestFunFun(TestMyFunc,100);
}
你的问题是Poly必须定义为静态成员函数
mousefj 2005-03-29
  • 打赏
  • 举报
回复
这样用才是正确的供参考。
定义:
void MyTestCall();
void static TestMyFunc(int vDate);
void TestFunFun(void (*func)(int xx),int vpara);
这样实现:
void CMainFrame::TestFunFun(void (*func)(int),int vpara)
{

int result;
(*func)(vpara);
}

void CMainFrame::TestMyFunc(int vDate)
{
int xx=100;
int yy=xx+vDate;
char pData[32];
memset(pData,0,32);
sprintf(pData,"%d",yy);
AfxMessageBox(pData);
//return vDate;
}

void CMainFrame::MyTestCall()
{
void (*func)(int);
func=TestMyFunc;
TestFunFun(TestMyFunc,100);
}
qiangorqiang 2005-03-29
  • 打赏
  • 举报
回复
你试一试这样定义:
typedef void (CTestDoc::*func)(int);
CTestDoc::Fit(int x, int y, func)
{

}
目录 第1章 概述 1.1计算机程序设计语言的发展 1.2 面向对象的方法 1.3 面向对象的软件开发 1.4 信息的表示与存储 1.5 程序的开发过程 1.6 小结 习题 第2章 C++简单程序设计 2.1 C++语言概述 2.2 基本数据类型和表达式 2.3 数据的输入与输出 2.4 算法的基本控制结构 2.5 自定义数据类型 2.6 小结 习题 第3章 函数 3.1 函数的定义与使用 3.2 内联函数 3.3 带默认形参值的函数 3.4 函数重载 3.5 函数模板 3.6 使用C++系统函数 3.7 小结 习题 第4章 类与对象 4.1 面向对象的思想 4.2 面向对象程序设计的基本特点 4.3 类和对象 4.4 构造函数和析构函数 4.5 类的组合 4.6 类模板 4.7 面向对象标记 4.8 小结 习题 第5章 C++程序的结构 5.1 作用域与可见性 5.2 生存期 5.3 数据与函数 5.4 静态成员 5.5 友元 5.6 共享数据的保护 5.7 多文件结构和编译预处理命令 5.8 小结 习题 第6章 数组、指针与字符串 6.1 数组 6.2 指针 6.3 动态内存配 6.4 字符串 6.5 小结 习题 第7章 继承与派生 7.1 继承与派生 7.2 访问控制 7.3 派生类的构造和析构函数 7.4 派生类成员的标识与访问 7.5 赋值兼容规则 7.6程序实例——用高斯消去法解线性方程组 7.7 程序实例——一个小型公司的人员信息管理系统 7.8 小结 习题 第8章 多态性 8.1 多态性概述 8.2 运算符重载 8.3 虚函数 8.4 抽象类 8.5 程序实例——用变步长梯形积算法求解函数的定积 8.6 程序实例——对一个小型公司的人员信息管理系统程序的改进 8.7 小结 习题 第9章 群体类 9.1 线性群体 9.2 C++标准库的容器类 9.3 小结 习题 第10章 群体数据的组织 10.1 插入排序 10.2 选择排序 10.3 交换排序 10.4 顺序查找 10.5 折半查找 10.6 标准C++库的算法 10.7 小结 习题 第11章 流类库与输入/输出 11.1 I/O流的概念 11.2 输出流 11.3 输入流 11.4 输入/输出流 11.5 小结 习题 第12章异常处理 12.1 异常处理的基本思想 12.2 C++异常处理的实现 12.3 异常处理的构造与析构 12.4 小结 习题 第13章 MFC库与Windows程序开发概述 13.1 Windows的编程模式 13.2 MFC库简介 13.3 使用VisualC++开发Windows程序的步骤 13.4 小结 习题 参考文献

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧