-3

我正在用 C++ 构建一个类 Boggle。在 Boggle 类中,我声明了一个名为 boardIndex 的结构类型:

struct Boggle::boardIndex {
    int row, col;
};

还有一个回调函数来比较两个“boardIndex”:

int Boggle::CmpByIndex(boardIndex a, boardIndex b)

我想将回调函数传递给 Boggle.cpp 文件中的一组 boardIndex 元素:

Set<boardIndex> usedIndices(CmpByIndex); 

这可能吗?在当前表单中,我会收到一个错误,即“必须调用对非静态成员函数的引用”。我没有 Boggle 类的任何对象 - 还有另一种调用 CmpByIndex 函数的方法吗?

4

1 回答 1

1

我没有 Boggle 类的任何对象 - 还有另一种调用 CmpByIndex 函数的方法吗?

如果您没有任何对象,则不能调用非静态成员函数。所以你有2个解决方案:

  • 将此函数设为静态或非类成员Boogie
  • 创建或以某种方式获取的实例Boogle并将其绑定到此方法的调用
于 2017-03-08T22:35:10.987 回答