• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    无法将函数定义与现有的声明匹配 问题的解决办法 分享

    今晚在整MFC,遇到了以下的问题。

    d:\我的文档\visual studio 2008\projects\virtualosc\arraylisttype.h(171) : error C2244:
    “arrayListTypeelemType>::maxListSize”: 无法将函数定义与现有的声明匹配
    1> d:\我的文档\visual studio 2008\projects\virtualosc\arraylisttype.h(37) : 参见
    “arrayListTypeelemType>::maxListSize”的声明
    1> 定义
    1> 'int arrayListType::maxListSize(void)'
    1> 现有声明
    1> 'int arrayListTypeelemType>::maxListSize(void)'

    想了挺久的都没能解决,后来在百度的帮助下解决了。问题其实很好解决,只是自己没想到,但是没办法,没想到就是没想到。现在把问题记录下来,下次再出现这种问题就能快速解决。解决方法在下面:

    在arraylisttype.h前加入:

    #ifndef ARRAYLISTTYPE_H
    #define ARRAYLISTTYPE_H

    在arraylisttype.h末尾加入:

    #endif

    这样头文件arraylisttype.h就不会被重复包含而导致编译错误了。现在,对上面的语句进行解释。


    #ifndef ARRAYLISTTYPE_H 的意思是“如果没有定义宏 ARRAYLISTTYPE_H”

    #define ARRAYLISTTYPE_H 的意思是“定义宏 ARRAYLISTTYPE_H”

    #endif 的意思是“结束”

    总的说就是,假如标识符ARRAYLISTTYPE_H没有被定义,那么定义标识符ARRAYLISTTYPE_H,并让#ifndef和#endif之间的代码被编译处理。如果头文件ARRAYLISTTYPE_H 被第二次包含,语句#ifndef就会失效,并且#endif之前的全部语句将被编译器忽略。————Data Structure Using C++,D.S.Malik

    以后自己再写头文件一定记得要添加上面的预处理命令

    上一篇:ajax.net +jquery 无刷新三级联动的实例代码
    下一篇:关闭子页面刷新父页面中部分控件数据的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    无法将函数定义与现有的声明匹配 问题的解决办法 分享 无法,将,函数,定义,与,现,