操作器 [] 作为非静态函数
Operatrator [] as non-static function
代码:
SchedulingItem operator[](Schedule obj,int el){
return obj.OfVector().at(el);
}
错误:
学术界::调度项 学术界::运算符[](学术界::计划,int(' 必须是非静态成员函数 SchedulingItem operator[](Schedule obj,int el(
问题出在哪里?
问题是,正如消息所说,此函数必须是非静态成员函数。
对于operator[]
来说,这只是C++定律.
相反,您将其设置为非会员或"免费"功能。
operator[]
必须是Schedule
类的非静态成员,例如:
class Schedule
{
private:
std::vector<SchedulingItem> m_vec;
public:
SchedulingItem& operator[](int el);
};
SchedulingItem& Schedule::operator[](int el)
{
return m_vec.at(el);
}
相关文章:
- C++setiosflags函数操纵器-未确定的缩进
- 将函数包装器转换为 std::function
- C++函数包装器来捕获某些信号
- 静态代码检查器抱怨.虚惊一场?
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 检查编译时是否存在静态函数
- 名称隐藏对静态函数继承的实例使用
- 如果 C 函数仍然可以间接执行(通过回调函数),那么将它声明为静态函数是否是一种不好的做法?
- 类中静态函数C++意外结果
- 在工人类中使用不同类的静态函数进行实验
- 类 Referention 中C++回调函数引用非静态函数
- 考虑引用和常量的可变参数函数包装器
- 指向模板上下文中的成员函数或静态函数的指针
- 如何检测 Clang AST C++中的静态函数
- 内联asm编译器屏障(内存阻塞器)是算作外部函数,还是算作静态函数调用
- 如何在静态函数中使用成员函数数组
- 操作器 [] 作为非静态函数
- 使用类的静态函数模板成员的链接器错误
- C++11类型列表展开器和静态函数的代理调用程序
- 使用迭代器调用STL Set中的非静态函数