c++中出现multiple definition of *** first defined here的错误
本人小白,我用codeblocks写了两个文件如下图,但会出现multipledefinitionof***firstdefinedhere的错误为什么啊...
本人小白,我用codeblocks写了两个文件如下图,但会出现multiple definition of *** first defined here的错误为什么啊
展开
3个回答
展开全部
首先应该遵循C/C++的代码组织准则,函数的定义如这里的put函数体写在.c/.cpp文件中,函数的声明(不包括函数体)或者inline函数的定义(包括函数体)写在.h文件中。你的程序有多种该法,先把put改成别的名字,因为put很容易和C标准库里的put区分不开(这可能不是错误,但是为了清晰最好不要重名);然后把main函数所在源文件里改成#include "jiancha.h",新建一个jiancha.h里面写上put的声明不包括函数体,然后jiancha.cpp里最前面也#include 这个jiancha.h;还有一种改法,就是只要jiancha.h不要jiancha.cpp,函数体写在jiancha.h中但是函数名前用inline修饰
展开全部
int main()上面加个函数声明 void put();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么你的jiancha函数和main函数不在一个源文件里头啊?
追答
哦,看错了,原来你用了自己的头文件,那么在main函数上一行定义put函数,用void类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询