首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

大神,关于.h中定义函数,多种实现有关问题

2012-04-25 
求助大神,关于.h中定义函数,多种实现问题各大神请看://a.h定义一函数int func(int)//b.c实现#include a.h

求助大神,关于.h中定义函数,多种实现问题
各大神请看:
//a.h定义一函数
int func(int)

//b.c实现
#include "a.h"
int func(int a)
{
  return a+1;
}


//c.c实现
#include "a.h"
int func(int a)
{
  return a+2;
}




//main.c
#include "a.h"
int main()
{
  func(5);//调用func函数
}

此时编译通过,运行链接不通过。请问有没有办法指定main调用的来自b.c(或者c.c)func()函数??????????

[解决办法]

探讨

引用:

引用:

引用:

同一个工程下,这样不行的,因为你的函数前面没有加static,那么他们的作用范围就是整个工程,所以,编译器会认为,你在两处定义了同样名字的函数func()。

C++中名字相同的函数,入参列表不同,是允许的,叫函数重载——不过入参列表也一样还是不行
至于C,函数名相同的两个全局函数,肯定不行
……

[解决办法]
不要然lz吧func函数放到两个不同的dll中吧,C中动态载入不同的dll

热点排行