C++ 运算符[]作为非静态函数
代码: 错误:C++ 运算符[]作为非静态函数,c++,operator-overloading,C++,Operator Overloading,代码: 错误: SchedulingItem operator[](Schedule obj,int el){ return obj.OfVector().at(el); } Academy::SchedulingItem Academy::operator[](Academy::Schedule,int)“必须是非静态成员函数 调度项目操作员[](调度对象,整数) 问题出在哪里?问题在于,正如消息所说,此函数必须是非静态成员函数 您将其改为非成员或“免费”函数。问题在于,正如消息所
SchedulingItem operator[](Schedule obj,int el){
return obj.OfVector().at(el);
}
Academy::SchedulingItem Academy::operator[](Academy::Schedule,int)“必须是非静态成员函数
调度项目操作员[](调度对象,整数)
问题出在哪里?问题在于,正如消息所说,此函数必须是非静态成员函数
您将其改为非成员或“免费”函数。问题在于,正如消息所述,此函数必须是非静态成员函数
您已将其设置为非成员或“免费”函数。
运算符[]
必须是您的计划
类的非静态成员,例如:
academia::SchedulingItem academia::operator[](academia::Schedule, int)' must be a nonstatic member function
SchedulingItem operator[](Schedule obj,int el)
课程表
{
私人:
std::向量m_-vec;
公众:
调度项目和操作员[](国际el);
};
调度项和调度::运算符[](int el)
{
返回m_vec.at(el);
}
操作员[]
必须是计划
类的非静态成员,例如:
academia::SchedulingItem academia::operator[](academia::Schedule, int)' must be a nonstatic member function
SchedulingItem operator[](Schedule obj,int el)
课程表
{
私人:
std::向量m_-vec;
公众:
调度项目和操作员[](国际el);
};
调度项和调度::运算符[](int el)
{
返回m_vec.at(el);
}
operator[]必须是接受一个参数(某些重复)的成员函数。甚至不是同一个该死的接线员。另外,接受的答案是错误的。运算符[]必须是接受一个参数(某些重复)的成员函数。甚至不是同一个该死的接线员。另外,被接受的答案是错误的。期待听到这个答案中的错误。显然,期望人们真正阅读错误消息,告诉他们问题是什么以及如何解决是不礼貌的it@M.M当前位置我们生活在一个陌生的世界,期待着听到这个答案中的错误。显然,这样做是不礼貌的期望人们实际阅读错误消息,准确地告诉他们问题是什么以及如何解决it@M.M当前位置我们生活在一个陌生的世界