标题:类成员函数与类的头文件连接后总会报错说函数被重复定义
只看楼主
Mylovcat666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2022-9-2
结帖率:50%
已结贴  问题点数:20 回复次数:5 
类成员函数与类的头文件连接后总会报错说函数被重复定义
我类成员函数声明写在其他文件中,
程序代码:
#include <iostream>
#include "Method.h"
using namespace std;


void  showmenu(int a,int b){

        int temp=a;

        a=b;

        b=temp;

        cout<<"a=" << a << endl;

        cout<<"b=" << b << endl;

}

然后连接类的头文件在主程序中调用,总是会显示函数重复定义,可是我在头文件中的代码确实是写在
程序代码:
#ifndef METHOD_H_INCLUDED
#define METHOD_H_INCLUDED
#include  "showmenu.cpp"
#include <iostream>;
using namespace std;


void showmenu(int a,int b):


#endif // METHOD_H_INCLUDED

宏定义里,为什么还是会出现函数被重复定义了。
搜索更多相关主题的帖子: 定义 函数 头文件 重复 int 
2022-09-02 16:11
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
#include  "showmenu.cpp"
为什么会有这种<说不出形容词>的代码?

#include <iostream>; 这后面不应该有分号

void showmenu(int a,int b) 应当是 void showmenu(int& a,int& b)
2022-09-02 16:51
Mylovcat666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2022-9-2
得分:0 
回复 2楼 rjsp
showmenu是显示菜单我自己直译的,   
#include <iostream>

这里纯粹是习惯性多打了;改过来也没影响,传值的话本来我就只是想打印一段字符看下能不能用,主要是编译报错 redefintion of  'void showmenu',百度是说这个函数已经被重复定义了,网上其他回答都说要在
程序代码:
#ifndef  
#define
//代码
#endif
#
这里面写类函数引用还有代码,我写在里面了,可是出现了报错,我就想问是不是有其他的问题。
2022-09-02 21:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
你把 #include  "showmenu.cpp" 这一句删掉试试吧(我不确定你是否还有其它错误)

.cpp 是编译单元,它不应该被人 #include 。
2022-09-02 21:54
Mylovcat666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2022-9-2
得分:0 
回复 4楼 rjsp
谢谢,好神奇,我之前删过但是出现其他问题就觉得没有用,今天删掉了就好了,编译文件不该被引用还是什么?
2022-09-03 13:23
mature119
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:29
专家分:45
注 册:2021-12-7
得分:0 
回复 4楼 rjsp
????不理解
2022-09-20 21:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509935-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.152056 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved