CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

求助一个C++编译的问题。

楼主hu_zy(白痴一个)2003-06-03 13:48:59 在 C/C++ / C语言 提问

编译出错:  
  no   matches   converting   function   `DoPart0'   to   type   `long   int   (*)(char   *)'  
  candidates   are:   long   int   UsingCCGIEx::DoPart0(char   *)  
   
  ===.h  
  #define   LRESULT     long  
  #define   CALLBACK    
  typedef   LRESULT   (CALLBACK   *TEMPLATE_PROC)(char*);  
  class   CCGIEx   {  
  public:  
  CCGIEx(const   char*   szLogFileName);  
          ...  
  bool   AddTemplateProc   (char*   pszBlockName,   TEMPLATE_PROC   lpfn);  
          ...  
  };  
   
  ===.cpp  
  class   UsingCCGIEx:   public   CCGIEx  
  {  
  public:  
  UsingCCGIEx   (const   char*   szLogFileName);  
  ...  
  LRESULT   DoPart0   (char*   pTemplate);  
  ...  
  };  
   
  UsingCCGIEx::   UsingCCGIEx(const   char*   szLogFileName)   :   CCGIEx(szLogFileName)  
  {  
  AddTemplateProc("block0",   (TEMPLATE_PROC   )DoPart0);  
  }  
  问题点数:50、回复次数:3Top

1 楼atma(当时明月在)回复于 2003-06-03 14:03:44 得分 10

AddTemplateProc("block0",   (TEMPLATE_PROC   )DoPart0);  
  改为:  
  AddTemplateProc("block0",   reinterpre_cast<TEMPLATE_PROC>(   static_cast<void*>(   DoPart0   )   )   );Top

2 楼hu_zy(白痴一个)回复于 2003-07-11 17:04:52 得分 0

我目前的解决是static   LRESULT   DoPart0   (CCGIEx*   hInstance,   char*   pTemplate);  
  atma这个方法也不能编译:  
   
  test.cpp:   In   method   `UsingCCGIEx::UsingCCGIEx(const   char   *)':  
  test.cpp:30:   static_cast   from   `{unknown   type}'   to   `void   *'  
  make:   ***   [test]   Error   1  
  rTop

3 楼pengzhenwanli(紫气日盈)回复于 2003-07-11 19:22:57 得分 40

我认为这一句有问题。  
  AddTemplateProc("block0",   (TEMPLATE_PROC   )DoPart0);  
  TEMPLATE_PROC是个普通的函数指针,要指向成员函数,必须使用指向成员函数的指针  
   
  typedef   LRESULT   (   UsingCCGIEx::*TEMPLATE_PROC)(char*);  
  作为callback函数在class中必须是static.Top

相关问题

  • c编译器
  • c++编译问题
  • C++编译系统
  • C#的编译器
  • C的编译器
  • dev-c++编译器
  • 求c#编译器
  • C#如何编译?
  • C++&C编译问题
  • c/c++的编译程序

关键词

  • 函数
  • template
  • dopart0
  • usingccgiex
  • addtemplateproc
  • ccgiex
  • szlogfilename
  • lresult
  • proc
  • block0

得分解答快速导航

  • 帖主:hu_zy
  • atma
  • pengzhenwanli

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo