关于类模板中的函数重载问题
「已注销」 2016-09-20 09:32:47 #include <iostream>
using namespace std;
template<typename T, unsigned int N>
class Array
{
public:
T& back()
{
cout << "reference" << endl;
return (Elem[N - 1]);
}
const T& back() const
{
cout << "const_reference" << endl;
return (Elem[N - 1]);
}
T Elem[N];
};
int main(void)
{
Array<int, 5> cell;
const Array<int, 6> const_cell;
cell.back();//调用T& back()
const_cell.back();//调用const T& back()
return 0;
}
我的问题是:
1、函数重载不是根据参数列表来区分的吗,为什么Array中的两个back()函数不会报错?
2、cell和const_cell是如何知道该调用哪个函数版本的?