24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2771  |  回复: 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的回帖

rbs

木虫 (小有名气)

【答案】应助回帖

你没有贴全部的全代码,但是1025的C2556错误应该是关键。
你定义了两个add函数,而这两个add函数只有返回值是不同的,其他都一样,这就是一个重复定义的错误。
6楼2014-04-11 11:57:58
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见