CPP错误:"称为对象类型' int(hashTable :: *)(int,int)'不是函数或函数指针"

时间:2015-11-29 15:10:39

标签: c++ pointers

func指针的定义

class hashTable{
    private:
        richArray<struct Slot> *slots;
        int (hashTable::* h)(int,int);
        int hLinearProbing(int,int);
. 
.
. 

func指针的初始化

switch (mode) {
    case 0:
        this->h = &hashTable::hLinearProbing;
        break;
    case 1:
        this->h = &hashTable::hDoubleHashing;
        break;
    case 2:
        this->h = &hashTable::hQuadHashing;
        break;
}

呼叫者

int hashTable::insert(int key){
    this->*h(123,11);
}

我没有看到任何结果。我敢打赌它的东西显而易见。提前谢谢。

1 个答案:

答案 0 :(得分:1)

通过指向成员函数的指针调用成员函数的正确语法如下所示:

COUNT(DISTINCT(field_name))