无法将函数定义与现有的声明匹配 问题的解决办法 分享_.Net教程_Sublime_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Sublime

    当前位置:主页 > 软件教程 > Sublime >

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

    时间:2019-07-21|栏目:Sublime|点击:
  • 推荐:关闭子页面刷新父页面中部分控件数据的方法
    关闭子页面刷新父页面中部分控件数据,具体的实现代码如下,感兴趣的朋友可以参考下哈

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

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

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

    上一篇:关闭子页面刷新父页面中部分控件数据的方法_.Net教程

    栏    目:Sublime

    下一篇:C#中遍历各类数据集合的方法总结_.Net教程

    本文标题:无法将函数定义与现有的声明匹配 问题的解决办法 分享_.Net教程

    本文地址:http://www.jh-floor.com/ruanjianjiaocheng/Sublime/8032.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号