解决:ERROR C2470:"XXX" 看起来像函数定义,但没有参数列表;跳过明显的函数体

原创 2017年10月14日 15:58:52

 
因项目需要自己封装了一个MFC的拓展DLL文件,在测试使用这个DLL的时候,编译过程中出现ERROR C2470的报错提示信息,,双击报错信息,指向了我在dll工程中定义的一个头文件(这里需要说明一下的是,我是将一个类封装为DLL的),即类的声明部分,如下:

class OPCLIB_EXT_CLASS CWrapper
{
  //实现具体功能
}
右键OPCLIB_EXT_CLASS,查找其的定义,发现未声明,此处需要说明的是OPCLIB_EXT_CLASS是定义的一个宏对应的是AFX_CLASS_IMPORT/AFX_CLASS_EXPORT,在DLL工程文件中的stdafx.h中进行定义的,而在引用DLL的工程文件中,未定义上述宏,这就是出现报错的原因。在引用的DLL工程的stdafx.h文件中,添加定义,编译运行,一切正常。添加的代码内容如下:

#ifdef OPCLIB
#define OPCLIB_EXT_CLASS AFX_CLASS_EXPORT
#define OPCLIB_EXT_API AFX_API_EXPORT
#define OPCLIB_EXT_DATA AFX_DATA_EXPORT
#else
#define OPCLIB_EXT_CLASS AFX_CLASS_IMPORT
#define OPCLIB_EXT_API AFX_API_IMPORT
#define OPCLIB_EXT_DATA AFX_DATA_IMPORT
#endif

以上。


vs2010编译时出现错误提示:error C2470: “xx”: 看起来像函数定义,但没有参数列表;跳过明显的函数体

一个vs2010的项目中包含了多个dll工程,最近由于修改,对其中的两个dll工程A、B都拷贝了一份分别命名为C、D,然后修改原始工程中的文件名和类名,以便和原来的名称相区分,防止一不小心弄错了就麻烦...
  • jszj
  • jszj
  • 2016-03-02 11:03:08
  • 4385

vs2010 error C2470: “ClassA”: 看起来像函数定义,但没有参数列表;跳过明显的函数体

把 ClassA::foo() { ... } 写成 ClassA:foo(){} { ... } 了。 少了一个冒号(":")。
  • thinktalk
  • thinktalk
  • 2017-01-09 19:21:21
  • 761

error C2470 错误记录与解决方法。“看起来像函数定义,但没有参数列表”

looks like a function definition, but there is no parameter list error C2470: “TiXmlString”: 看起来像函数...
  • jean7155
  • jean7155
  • 2012-11-20 10:46:04
  • 10283

error C2470: “main()”: 看起来像函数定义,但没有参数列表;跳过明显的函数体

这个错误类型是 自己的函数题目或者函数内容中含有中文状态下的符号 把符号改一下即可...
  • woniu199166
  • woniu199166
  • 2016-09-10 11:25:57
  • 919

error C2470 错误原因及解决方法

封装的Dll类需要使用dllexport导出, 为明确功能,定义 #define BASE_SHARE_API __declspec(dllexport)   在Dll中新添加功...
  • xian_wwq
  • xian_wwq
  • 2013-08-02 10:25:46
  • 2166

解决:ERROR C2470:"XXX" 看起来像函数定义,但没有参数列表;跳过明显的函数体

因项目需要自己封装了一个MFC的拓展DLL文件,在测试使用这个DLL的时候,编译过程中出现ERROR C2470的报错提示信息,,双击报错信息,指向了我在dll工程中定义的一个头文件(这里需要说明一下...
  • C_to_OOP
  • C_to_OOP
  • 2017-10-14 15:58:52
  • 391

解决:ERROR C2470:"XXX" 看起来像函数定义,但没有参数列表;跳过明显的函数体

因项目需要自己封装了一个MFC的拓展DLL文件,在测试使用这个DLL的时候,编译过程中出现ERROR C2470的报错提示信息,,双击报错信息,指向了我在dll工程中定义的一个头文件(这里需要说明一下...
  • C_to_OOP
  • C_to_OOP
  • 2017-10-14 15:58:52
  • 391

GDI+ 编译问题

当写一个gdi+的程序时,如果编译的过程中出现一大堆的错误,如: 1>c:\program files\microsoft sdks\windows\v6.0a\include\gdiplusi...
  • a18772316132
  • a18772316132
  • 2013-09-27 15:19:30
  • 658

vs2010, error C2059: 语法错误:“namespace” error C2334: “{”的前面有意外标记;跳过明显的函数体

今天vs2010下编译,出现如题错误。原来是头文件循环包含了。网上说可能是文件编码问题,也有可能吧。 把代码放在.inl文件里可以使得源文件简洁,但是Ctrl+F是搜不到里面内容的,只能用F12"转...
  • thinktalk
  • thinktalk
  • 2016-01-08 18:54:57
  • 3824

看了篇论文,发现里面有明显的错误!

     发表于《计算机应用》,2003.8的第八期的一片文章《移动Ad hoc 网络AODV 路由协议安全性分析和改进》,我偶然在期刊网下了之后,看了一下,发现作者赖以发表核刊的改进方案是错误的,作...
  • wanghorse
  • wanghorse
  • 2005-10-11 22:35:00
  • 2020
收藏助手
不良信息举报
您举报文章:解决:ERROR C2470:"XXX" 看起来像函数定义,但没有参数列表;跳过明显的函数体
举报原因:
原因补充:

(最多只允许输入30个字)