| 查看: 2768 | 回复: 7 | ||
[求助]
error C2371: 重定义;不同的基类型已有2人参与
|
|
在头文件中: /*复数定义*/ typedef struct { double re; double im; }COMPLEX; COMPLEX Add(COMPLEX c1, COMPLEX c2); 再cpp文件中: COMPLEX CImageProc::Add(COMPLEX c1, COMPLEX c2) { COMPLEX c; c.re=c1.re+c2.re; c.im=c1.im+c2.im; return c; } 然后编译出现错误(vc2008中),重定义函数Add(),可是明明没有重定义啊 ps:现在在准备写对一幅二维数字图象进行移中和变换和各种滤波器函数(可是刚定义复数就报错了),如果有做过的人可否发带代码给我看下。 |
» 猜你喜欢
导师想让我从独立一作变成了共一第一
已经有8人回复
博士读完未来一定会好吗
已经有23人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
UDF程序,形参t重定义等ERROR求教
已经有9人回复
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2014-04-10 21:22:09
rbs
木虫 (小有名气)
- 应助: 32 (小学生)
- 金币: 3589.1
- 红花: 3
- 帖子: 221
- 在线: 16.3小时
- 虫号: 695603
- 注册: 2009-02-03
- 性别: GG
- 专业: 计算机应用技术
3楼2014-04-10 21:40:54
4楼2014-04-11 11:09:52
|
以下这些错误都是我添加了Add()之后才有的 1>.\ImageProc.cpp(1024) : error C2143: 语法错误 : 缺少“;”(在“CImageProc::Add”的前面) 1>.\ImageProc.cpp(1024) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>.\ImageProc.cpp(1025) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>.\ImageProc.cpp(1025) : error C2556: “int CImageProc::Add(CImageProc::COMPLEX,CImageProc::COMPLEX)”: 重载函数与“CImageProc::COMPLEX CImageProc::Add(CImageProc::COMPLEX,CImageProc::COMPLEX)”只是在返回类型上不同 1> d:\大三下课件\showbmp更改4.4-9\showbmp\ImageProc.h(75) : 参见“CImageProc::Add”的声明 1>.\ImageProc.cpp(1025) : error C2371: “CImageProc::Add”: 重定义;不同的基类型 1> d:\大三下课件\showbmp更改4.4-9\showbmp\ImageProc.h(75) : 参见“CImageProc::Add”的声明 这是我的作业,目的是锻炼对各种函数的理解和实现能力,便于以后的硬件实现,所以所有函数必须得自己写。 |
5楼2014-04-11 11:18:09
rbs
木虫 (小有名气)
- 应助: 32 (小学生)
- 金币: 3589.1
- 红花: 3
- 帖子: 221
- 在线: 16.3小时
- 虫号: 695603
- 注册: 2009-02-03
- 性别: GG
- 专业: 计算机应用技术
6楼2014-04-11 11:57:58
7楼2014-04-11 18:08:17
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件
【答案】应助回帖
★ ★ ★ ★ ★
自来清风: 金币+5, ★有帮助 2014-07-26 22:33:38
自来清风: 金币+5, ★有帮助 2014-07-26 22:33:38
|
1>.\ImageProc.cpp(1025) : error C2556: “int CImageProc::Add(CImageProc::COMPLEX,CImageProc::COMPLEX)”: 重载函数与“CImageProc::COMPLEX CImageProc::Add(CImageProc::COMPLEX,CImageProc::COMPLEX)”只是在返回类型上不同 -------------------------------- 注意看这个错误,c++不允许2个函数输入参数完全一样,而只是返回值不同.要重载函数,必须输入参数有变化,因为编译器需要用参数类别/个数这些信息来区别不同的函数,返回值不能作为唯一的区别条件. |

8楼2014-04-11 20:01:07













回复此楼