手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >无法将函数定义与现有的声明匹配 问题的解决办法 分享
无法将函数定义与现有的声明匹配 问题的解决办法 分享
摘要:今晚在整MFC,遇到了以下的问题。d:我的文档visualstudio2008projectsvirtualoscarraylisttype...

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

d:我的文档visual studio 2008projectsvirtualoscarraylisttype.h(171) : error C2244:

“arrayListType<elemType>::maxListSize”: 无法将函数定义与现有的声明匹配

1> d:我的文档visual studio 2008projectsvirtualoscarraylisttype.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无法加载oci.dll解决新法

asp.net下出现其中的组件“访问被拒绝”的解决方法

asp.net中eval不能定义变量的问题的解决方法

asp.net 日期函数 某月的第一天和最后一天的日期

Ajax.net Sys未定义错误解决办法

asp.net aspnetpager分页统计时与实际不符的解决办法

asp.net动态加载自定义控件的方法

ASP.NET 多次提交的解决办法2

安装 VS2005 SP1 有关问题的解决办法

C# 文件上传 默认最大为4M的解决方法

精品推荐
分类导航