使用以下代码,我在编译时不断收到错误C2535。它抱怨已经定义或声明了一个成员函数。
...
class Rationnel
{
public:
Rationnel(int); //Constructor
Rationnel(int,int); //Constructor
void add(const Rationnel);
...
...
//Constructor
Rationnel::Rationnel(int n = 1)
{
numerateur = n;
denominateur = 1;
}
//Constructor
Rationnel::Rationnel(int n = 1, int d = 1)
{
numerateur = n;
denominateur = d;
}
...
知道可能导致错误的原因是什么?
感谢您的时间。
答案 0 :(得分:2)
如果你写Rationnel(5),你怎么知道会调用以下哪一个?两者都可以使用,因此会发生错误。
Rationnel::Rationnel(int n = 1)
Rationnel::Rationnel(int n = 1, int d = 1)