| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1165 人关注过本帖
标题:类成员函数与类的头文件连接后总会报错说函数被重复定义
只看楼主 加入收藏
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
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册: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
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册: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
快速回复:类成员函数与类的头文件连接后总会报错说函数被重复定义
数据加载中...
 
   



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

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