如何在 C++ 中调用其自身 class 中的非静态成员函数
How to call a non-static member function within its own class in C++
我正在用 C++ 构建 class Boggle。在 Boggle class 中,我声明了一个名为 boardIndex:
的结构类型
struct Boggle::boardIndex {
int row, col;
};
和一个回调函数来比较两个 "boardIndex"s:
int Boggle::CmpByIndex(boardIndex a, boardIndex b)
我想将回调函数传递给 Boggle.cpp 文件中的一组 boardIndex 元素:
Set<boardIndex> usedIndices(CmpByIndex);
这可能吗?在当前的形式中,我会得到一个错误 "reference to non-static member function must be called." 我没有 Boggle class 的任何对象 - 这里有另一种调用 CmpByIndex 函数的方法吗?
I don't have any objects of the Boggle class - is there another way of calling the CmpByIndex function here?
如果你没有任何对象,那么你不能调用非静态成员函数。所以你有 2 个解决方案:
- 将此函数设置为静态或非 class
Boogie
的成员
- 创建或以某种方式获取
Boogle
的实例并将其绑定到此方法的调用
我正在用 C++ 构建 class Boggle。在 Boggle class 中,我声明了一个名为 boardIndex:
的结构类型struct Boggle::boardIndex {
int row, col;
};
和一个回调函数来比较两个 "boardIndex"s:
int Boggle::CmpByIndex(boardIndex a, boardIndex b)
我想将回调函数传递给 Boggle.cpp 文件中的一组 boardIndex 元素:
Set<boardIndex> usedIndices(CmpByIndex);
这可能吗?在当前的形式中,我会得到一个错误 "reference to non-static member function must be called." 我没有 Boggle class 的任何对象 - 这里有另一种调用 CmpByIndex 函数的方法吗?
I don't have any objects of the Boggle class - is there another way of calling the CmpByIndex function here?
如果你没有任何对象,那么你不能调用非静态成员函数。所以你有 2 个解决方案:
- 将此函数设置为静态或非 class
Boogie
的成员
- 创建或以某种方式获取
Boogle
的实例并将其绑定到此方法的调用