主页 > 知识库 > 无法将函数定义与现有的声明匹配 问题的解决办法 分享

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

热门标签:地图标注和认领 长春呼叫中心外呼系统哪家好 户外地图标注软件手机哪个好用 五常地图标注 郑州400电话办理 联通 莱芜外呼电销机器人价格 凯立德导航官网地图标注 智能电话营销外呼系统 电销语音自动机器人

今晚在整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

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

标签:西藏 红河 宣城 福州 岳阳 西宁 衢州 湖州

巨人网络通讯声明:本文标题《无法将函数定义与现有的声明匹配 问题的解决办法 分享》,本文关键词  无法,将,函数,定义,与,现,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《无法将函数定义与现有的声明匹配 问题的解决办法 分享》相关的同类信息!
  • 本页收集关于无法将函数定义与现有的声明匹配 问题的解决办法 分享的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章