我目前正在学习作文,并坚持这个问题
我不知道如何修复“非静态成员引用必须相对于特定对象”错误我不断得到
我不允许以任何方式修改main()
int main()
{
Time t(23, 59, 58);
Date d(12, 31, 2017, t);
// ...
}
我在时间=时间收到错误消息“非静态成员引用必须相对于特定对象”(粗体“时间”是在visual c ++中以红色下划线的位置)
我认为错误与时间时间的构图有关,但我不确定
class Date
{
public:
explicit Date( int = 1, int = 1, int = 1900, Time = **time**);
// ...
private:
Time time;
// ...
}
生成器数据
Date::Date( int mn, int dy, int yr, Time timeObject)
: time{ timeObject }
// ...
时间等级
class Time
{
public:
explicit Time( int = 0, int = 0, int = 0 );
// ...
private:
int hour;
int minute;
int second;
}
时间构造函数
Time::Time( int hour, int minute, int second )
{ //...
}
与我目前所知的相比,我读过的关于这个错误的其他主题似乎更复杂
任何关于如何解决此错误的建议将不胜感激
将Time = time
更改为Time timeobject
或其他名称。编译器将默认值time
解释为成员变量time
。