24小时热门版块排行榜    

查看: 3047  |  回复: 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:现在在准备写对一幅二维数字图象进行移中和变换和各种滤波器函数(可是刚定义复数就报错了),如果有做过的人可否发带代码给我看下。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

自来清风

银虫 (小有名气)

引用回帖:
3楼: Originally posted by rbs at 2014-04-10 21:40:54
把错误信息贴出来。这个代码不应该是重定义。
如果你想做数字图像处理,使用OpenCV吧,不要自己写函数。

以下这些错误都是我添加了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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
COMPLEX Add(COMPLEX c1, COMPLEX c2);
再cpp文件中:
COMPLEX CImageProc::Add(COMPLEX c1, COMPLEX c2)
---------------------------
上面的Add不在类里面,是全局函数
下面的Add在CImageProc类里面,是类函数
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2014-04-10 21:22:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
把错误信息贴出来。这个代码不应该是重定义。
如果你想做数字图像处理,使用OpenCV吧,不要自己写函数。
3楼2014-04-10 21:40:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

自来清风

银虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2014-04-10 21:22:09
COMPLEX Add(COMPLEX c1, COMPLEX c2);
再cpp文件中:
COMPLEX CImageProc::Add(COMPLEX c1, COMPLEX c2)
---------------------------
上面的Add不在类里面,是全局函数
下面的Add在CImageProc类里面,是类函数

上面我可能没有说清楚。
CImageProc是我最初定义的一个图像处理类,COMPLEX Add(COMPLEX c1, COMPLEX c2) 是我添加的这个类的成员函数(我并没有定义一个复数类)
我是在ImageProc.h中申明,ImageProc.cpp中定义,不是全局函数。
4楼2014-04-11 11:09:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +11 kulium 2026-08-21 14/700 2026-08-24 02:12 by 流流伤
[基金申请] 范进中举一文的中心思想 +4 炎黄贵胄 2026-08-22 5/250 2026-08-24 02:09 by 流流伤
[基金申请] 2026国自然函评费到账 +16 羊腰板 2026-08-21 17/850 2026-08-23 23:02 by tianxiaochun
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见