2011-09-21 58 views
0

我明白,如果有具有相同的名称和相同数量的参数编译器试图找到最佳匹配的几个函数(我说的对这么远吗?)超载分辨率,CPP

我也不是什么理解是类型提升和类型转换的区别。

说我有这个功能decleration:void foo (double x)然后里面主要:

int x = 5; 
foo(x); 

这算是转换或促销?

回答

-3

你举的例子不会工作

你需要有2种方法重载

1)无效美孚(双X){方法的代码}和

2。 )void foo(int x){方法代码}

然后当您运行代码

int x = 5;

富(5)

编译器或运行时环境知道调用根据您在。

过去了。如果我想要一个int转换成一个双是不同的输入类型的方法。我不确定你使用的是什么语言,但是在Java中,你将使用类型转换来执行转换

这是类型转换,并将double转换为int。如果有小数部分,你将丢失小数部分。

double d = 5; int i =(int)d;

我认为这是你问的问题。如果没有请澄清一点

+0

语言是C++,而例子_does_工作,问题是关于术语。 – Javier