我有一种情况,我不允许修改我的类的头文件。我想添加一个辅助函数来与我的一个函数一起使用..但是无法弄清楚实现它的正确方法。通常我试试谷歌但在那里找不到任何帮助。
这是我目前的代码:
template<typename T>
void Set<T>::doubleRotateRight(Elem *& node) {
// you fill in here
rotateRight(node->left);
rotateLeft(node);
//call private helper not defined in header
privmed();
}
void privmed(){
//out << "who" << endl;
}
然而,当我运行这个时,我得到错误:
error: there are no arguments to ‘privmed’ that depend on a template parameter, so a declaration of ‘privmed’ must be available [-fpermissive]
privmed();
任何帮助都会令人难以置信!
答案 0 :(得分:1)
你可以使用lambda:
ConstVal
答案 1 :(得分:1)
我认为问题在于你必须在使用它之前定义“privmed()”函数,如下所示:
void privmed(){
//out << "who" << endl;
}
template<typename T>
void Set<T>::doubleRotateRight(Elem *& node) {
// you fill in here
rotateRight(node->left);
rotateLeft(node);
//call private helper not defined in header
privmed();
}