提示我说函数或者变量重复定义,请大家可以告诉我 哪里出了问题吗?
函数重载不一样,函数重载由于特征标的存在编译器能够区分调用哪个实现,其实相当于两个不同的函数,而同一个函数两个实现(哪怕是完全一样的实现)在编译器看来是没法区分开来的,无法知道调用哪个实现,所以出现二义性错误
如有帮助,望采纳
错误指向哪一行啊???
倒是你这几个函数写了返回值类型,但是函数并没有return语句,是有些问题的
你的这些函数都有返回值,但是你实现的时候都没有return,要么你把所有函数的返回值类型改成void,要么就给每个函数都加上return 语句。
出现重复定义的报错。建议可以这样:
1.这个时候可以采用将函数或变量的实现换成内敛的。
例如:
static inline func(){
return 0;
}
因为内敛的函数在被调用时只是将函数的实现内容复制到使用的地方,并不是每次直接跳转到定义再执行。
2.将函数定义的实现直接放到某个.c文件中,申明保留在头文件中。