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

如果在不同文件里定义了多个相同的全局函数,会怎么调用呢

2014-06-01 
如果在不同文件里定义了多个相同的全局函数,会如何调用呢?我在其他地方利用extern使用这个全局函数,但是有

如果在不同文件里定义了多个相同的全局函数,会如何调用呢?
我在其他地方利用extern使用这个全局函数,但是有同事在另一个文件里也定义了相同的全局函数,我调用的时候是会去调用哪一个呢?依赖什么样的标准呢?

[解决办法]
编译的时候就失败了。会提示某某函数已经定义了
[解决办法]
如果他写的完全是另外一个程序,
则不会有任何问题.
比如一般你们两个都有一个 theApp 全局变量.

如果你们写的源代码是同一个工程,
将无法通过编译,所以不存在执行哪个的问题.

如果你们其中之一写的是库模块,
将无法通过链接,所以不存在执行哪个的问题.

如果都没有出错,
那你们两个的函数一定是只有名字相同,而参数不同,
这是函数重载, 将调用参数最匹配的那个.

比如

// 函数1
int FunAdd(int x1, int x2)
{
printf( "Call Fun 1\n ");
return x1 + x2;
}

// 函数2
int FunAdd(double x1, double x2)
{
printf( "Call Fun 2\n ");
return x1 + x2;
}

如果调用
int i_add = FunAdd(100,200);
将调用 函数1

double f_add = FunAdd(100.0,200.0);
将调用函数2

热点排行