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


因项目需要自己封装了一个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

以上。


看起来函数定义,但没有参数列表跳过明显函数体

05-14

[code=c]//tcpserver.hrnrn#ifndef TCPSERVER_Hrn#define TCPSERVER_Hrn#include "tcpthread.h"rn#include rnrnclass tcpserver : public QTcpServerrnrn Q_OBJECTrnpublic:rn explicit tcpserver(QObject *parent = 0);rn //QList clientDescriptorList;rnrnsignals:rn void newRow(int);rn void displayInfo(int,QString, int);rn void updateBar(int, qint64);rn void signal_send_command(int,int);rnrnpublic slots:rn void incomingConnection(int socketDescriptor);rn void slot_send_command(int,int);rnrn;rn#endifrn[/code]rn[code=c]//tcpserver.cpprnrn#include "tcpserver.h"rnrnrn//构造函数rntcpserver::tcpserver(QObject *parent):rn QTcpServer(parent)rnrnrnrn//重新定义了incomingConnection这个虚函数,rn//开辟一个新的tcpsocket线程,从TcpServer获得socketDescriptor,rn//并完成相应的信号连接rnrnvoid tcpserver::incomingConnection(int socketDescriptor)rnrn qDebug() <start();rn connect(thread,SIGNAL(finished()),this,SLOT(deleteLater()));rn connect(thread,SIGNAL(displayInfo(int,QString,int)),this,SIGNAL(displayInfo(int,QString,int)));rn connect(thread,SIGNAL(updateBar(int,qint64)),this,SIGNAL(updateBar(int,qint64)));rnrnrnrnrnrnrnrnrn[/code]rnrn这是一位前辈的代码,我想用一下,但是不知道怎么回事,运行的时候总是报错:rnrn//构造函数rntcpserver::tcpserver(QObject *parent):rn QTcpServer(parent)rnrnrnrn就是上边的这报错:D:\QtSpace\server\tcpserver.cpp:8: 错误:C2470: “parent”: 看起来像函数定义,但没有参数列表;跳过明显的函数体rnrn郁闷死了,不知道怎么回事啊!rn大家帮我看一下啊,我第一次弄QT啊rn

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭