无法将函数定义与现有的声明匹配 问题的解决办法 分享 - PHPERZ中文资讯站 - 胜博发888手机平台

发布于 2016-06-07 06:45:17 | 157 次阅读 | 评论: 1 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


无法将函数定义与现有的声明匹配 问题的解决办法 分享,需要的朋友可以参考一下

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

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



相关阅读 :
无法将函数定义与现有的声明匹配 问题的解决办法 分享
使用asp.net MVC4中的Bundle遇到的问题及解决办法分享
ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
iframe跨域与session失效问题的解决办法
asp.net中“从客户端中检测到有潜在危险的Request.Form值”错误的解决办法
.NET中文乱码的解决方法分享
基于ERP程序的公共代码中出现的问题及过度封装不方便维护的解决办法
ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
The remote procedure call failed and did not execute的解决办法
ASP.net Menu控件在Google Chrome和Safari浏览器下显示错位的解决办法
asp.net aspnetpager分页时与实际不符的解决办法
无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误的解决
最新网友评论  共有(1)条评论 发布评论 返回顶部
hyywzt 发布于2016-09-24 22:37:21
真的很好,谢谢
支持(0)  反对(0)  回复
月排行榜

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  服务