C++ link2005 error 错误 解决方法汇总(一般重复定义,如果都是不就是 函数定义和实现没有分离)...
一般都是重复定义。
可以按照VS给出的信息去找相关的变量或者宏定义,还有函数。
这里需要注意include,不要重复include,不要重复定义宏。
但上述这些,都是很好理解的……
如果大家按照上边说的检查了,还是百思不得其解,那么就看看关于类的函数定义和实现分离的问题吧。
一个兄弟的文章方法类似:http://blog.csdn.net/pang040328/archive/2009/07/07/4328270.aspx(不过说得很简单)
大家留意编译器出现的错误,这种情况一般都是类的函数定义重复。但只有一处定义了,为什么呢?
一般这种情况出现,是因为在h文件中,直接写了类函数的定义,虽然定义不在类中,已经分离出类之外,但还在.h文件中。
解决方法很简单,就把那几个函数放到对应的cpp中,如果没有就建一个。
我的例子:
Connection.h是一个类,其中四个函数定义在类之外,但还在h文件中。
SocketManager是另外一个类,函数实现分离到cpp中。在SocketManager.h引用Connection.h
然后在main那个cpp中,引用SocketManager.h
结果,报错了,正好就是那4个函数。
Connection代码:
2 class Connection
3 {
4 public:
5 Connection(){
6 /////
7 }
8
9 ~Connection(){
10 /////
11 }
12
13 //make connect-socket
14 bool makeConnect(const string &host, const string &service, const string &protocal);
15 bool makeConnect(){
16 return makeConnect(host, service, protocal_type);
17 }
18 //make passive-socket
19 bool makePassive(const string &service, const string &transport, const int qlen);
20 bool makePassive(){
21 return makePassive(service, protocal_type, qlen);
22 }
23
24 //get protocal
25 string getProtocal(){ return protocal_type; }
26
27 //get socket type
28 SOCKET_TYPE getSocketType(){ return sock_type; }
29
30 //get socket
31 SOCKET getSocket(){ return sock; }
32
33 string getHost(){ return host; }
34 string getService(){ return service; }
35 string getPort(){ return service; }
36 int getQueueLength(){ return qlen; }
37
38 protected:
39
40 private:
41 SOCKET passivesock(const string &service, const string &transport, const int qlen);
42 SOCKET connectsock(const string &host, const string &service, const string &transport );
43
44 private:
45 SOCKET sock;
46 SOCKET_TYPE sock_type;
47 string protocal_type;
48 string host;
49 string service;
50 int qlen;
51 u_short portbase;
52 };
53
54 SOCKET Connection::passivesock(const string &serv, const string &tp, const int qlen)
55 {
56 ////
57 }
58
59 SOCKET Connection::connectsock(const string &h, const string &serv, const string &tp)
60 {
61 //
62 }
63 bool Connection::makePassive(const string &service, const string &transport, const int qlen){
64 //
65 }
66
67 bool Connection::makeConnect(const string &host, const string &service, const string &protocal){
68 ///
69 }
C++ link2005 error 错误 解决方法汇总(一般重复定义,如果都是不就是 函数定义和实现没有分离)...相关推荐
- HTTP 错误 500.19- Internal Server Error 错误解决方法
HTTP 错误 500.19- Internal Server Error 错误解决方法 参考文章: (1)HTTP 错误 500.19- Internal Server Error 错误解决方法 ( ...
- Xcode真机调试中“There was an internal API error“错误解决方法
Xcode真机调试中"There was an internal API error"错误解决方法 参考文章: (1)Xcode真机调试中"There was an in ...
- Win10正常安装Matlab7.0后,运行出现Runtime Error错误解决方法
Win10正常安装Matlab7.0之后,打开出现Runtime Error错误解决方法 error如下: 解决办法如下: Matlb图标-->点击右键->属性->兼容性,勾选&qu ...
- java script error_java script error 错误解决方法
用了动易这么久了,有时一不小心改错模版文件或者 修改相关的JS,就会导致页面出现一些奇怪了 的弹出框 说什么 java script error 错误,烦死了. 今天特别研究了下,找到了解决这类问题的 ...
- windows7下vs2008常见错误解决方法汇总
1.fatal error LNK1000:Internal error during IncrBuildImage 解决方法:选中对应工程-->点击右键,选择Properties-->C ...
- vs2008中常见错误解决方法汇总
1.error C2859 vc90.idb is not the idb file that was used when this precompiled header was created. 解 ...
- 本地wamp的Internal Server Error错误解决方法
一.本地wamp下调试url重写,加入htaccess文件后提示:500 Internal Server Error ...,而删除这个文件网站又可以正常访问,其实就是没有开启url重写的功能.开启一 ...
- Win11更新提示安装错误0x80248007怎么办?0x80248007下载错误解决方法汇总
最近有用户遇到2022-适用于 Windows11 Version 22H2的08累积更新,适合基于 x64 的系统 (KB5016632)下载错误 - 0x80248007,下文就为大家带来了详细的 ...
- NSIS Error错误解决方法
<script type="text/JavaScript"> </script> <script src="http://a.alimam ...
最新文章
- discoGAN 论文解读
- 莫德友_去哪儿酒店交易系统架构实践
- chapter_2 索引优先队列
- winRAR 没有右键选项
- xgboost 多gpu支持 编译
- saphana服务器硬件评估,华为SAP HANA一体机:你身边的数据计算专家
- 极光推送指定用户推送_App用户都睡着了?是时候用推送和活动唤醒一波了!
- 米斯特白帽培训讲义(v2)实战篇 捷达系统
- mysql中不能update与safe update mode 有关
- 找出所有子集的异或总和再求和
- Python 链表实现
- 常见对象之String类
- Linux下的Nginx安装(开机自启动)
- 正确学习JavaScript知识和教程
- thinkphp6如何部署在虚拟主机上?
- 冒泡php_PHP实现冒泡排序
- 关于音乐播放器锁屏播放,后台播放,封面显示等
- 【SSL_2020.10.27】小biu闯关
- 贵州大学计算机试题及答案,贵州大学学位计算机选择题答案
- 小程序的老祖宗PWA为什么没有火起来?