我正在学习C ++,在我的课堂上,我们将讨论构造函数和重载构造函数,我只想弄清楚如何使这个重载构造函数工作。
我收到错误C3867" ' Integer :: toInt&#39 ;:非标准语法;使用'&'创建指向成员的指针"在Double.cpp中
过去2个小时我一直坚持这一点现在我不知道如何向前推进任何帮助表示赞赏。
Double.h:
#ifndef DOUBLE
#define DOUBLE
class Integer;
class Double
{
public:
double num;
public:
void equal(double value);
double toDouble()const;
// Constructors
Double();
Double(Double &val);
Double(double val);
Double(Integer &val); // This is the trouble one
};
#endif // !DOUBLE
Double.cpp
void Double::equal(double value)
{
this->num = value;
}
Double::Double()
{
this->equal(0.0);
}
Double::Double(Double &val)
{
this->equal(val.num);
}
Double::Double(double val)
{
this->equal(val);
}
Double::Double(Integer &val)
{
this->equal(val.toInt); // I get the error right here
}
Integer.h:
#ifndef INTEGER
#define INTEGER
class Double;
class Integer
{
private:
int num;
public:
void equal(int value);
int toInt()const;
//Constructors
Integer();
Integer(Integer &val);
Integer(int val);
};
#endif // !INTEGER
和Integer.cpp
int Integer::toInt()const
{
return this->num;
}
//Constructer
Integer::Integer()
{
this->equal(0);
}
Integer::Integer(Integer &val)
{
this->equal(val.num);
}
Integer::Integer(int val)
{
this->equal(val);
}
答案 0 :(得分:2)
您需要调用toInt
的{{1}}方法:
Integer