2015-11-29 55 views
2

定義CPP ERR: 「稱爲對象類型 'INT(hashTable中:: *)(INT,INT)' 不是一個函數或函數指針」 FUNC指針</p> <pre><code>class hashTable{ private: richArray<struct Slot> *slots; int (hashTable::* h)(int,int); int hLinearProbing(int,int); . . . </code></pre> <p>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

正確的語法被指向一個成員函數調用一個成員函數如下:

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