【发布时间】:2011-01-24 19:34:46
【问题描述】:
使用以下代码,我在编译时不断收到错误 C2535。它抱怨已经定义或声明了一个成员函数。
Rationnel.h
...
class Rationnel
{
public:
Rationnel(int); //Constructor
Rationnel(int,int); //Constructor
void add(const Rationnel);
...
Rationnel.cpp
...
//Constructor
Rationnel::Rationnel(int n = 1)
{
numerateur = n;
denominateur = 1;
}
//Constructor
Rationnel::Rationnel(int n = 1, int d = 1)
{
numerateur = n;
denominateur = d;
}
...
知道是什么导致了错误吗?
感谢您的宝贵时间。
【问题讨论】:
-
您不能同时使用默认参数。如果我调用构造函数
Rationnel r;编译器应该选择哪一个? -
您应该在帖子中指定什么是 C2535 错误。
-
错误是:Error 1 error C2535: 'void Rationnel::__dflt_ctor_closure(void)' : member function has been defined or declared
-
这听起来更像是一个编译器错误,而不是其他任何东西。您对这些构造函数的声明没有任何冲突
标签: c++ constructor