指向類的成員函式的指標無法在類外顯式呼叫

2021-10-24 09:33:11 字數 808 閱讀 8792

類的成員函式的指標無法在類外顯式呼叫

今天在寫c++程式的時候遇到了乙個很奇怪的問題,完成沒有辦法解釋,也就是類的成員函式的指標無法在類外顯式呼叫。

有點繞口,**如下:

類的標頭檔案 node.h

#include

#include

class node;

typedef

double

(node:

:*pf)

(double x)

;class node

;

類的原始檔 node.cpp

#include

"node.h"

node:

:node()

node::~

node()

double node:

:func1

(double x)

double node::fp

(double x)

呼叫的主函式檔案 main.cpp

#include

"node.h"

intmain()

目前沒有找到原因。

定義了乙個成員函式指標,指向類的成員函式,但是在類外部的普通函式中無法通過該指標呼叫類的成員函式,以上三種呼叫方式都是編譯未通過。

採用第四種編譯方式,在類的成員函式指標外面套一層殼,通過類的成員函式作為介面函式,採用this指標,在類的內部呼叫是可以的。

但是完全不知道為什麼。

指向類資料成員 類成員函式的指標

成員指標是指可以指向類的非靜態成員的指標,一般情況下指標指向乙個物件,但是成員指標指示的是類的成員,而非類的物件,類的靜態成員不屬於任何物件,因此無須特殊的指向靜態成員的指標,指向靜態成員的指標與普通指標沒有什麼區別,成員指標的型別囊括了類的型別以及成員的型別,當初始化乙個這樣的指標時,我們令其指向...

函式指標 指向 類成員

在程式設計工作中常會遇到在乙個 類 中通過函式指標呼叫成員函式的要求,如,當在乙個類中使用了c 標準庫中的排序函式qsort時,因qsort引數需要乙個 比較函式 指標,如果這個 類 使用某個成員函式作 比較函式 就需要將這個成員函式的指標傳給qsort供其呼叫。本文所討論的用指標呼叫 類 的成員函...

指向類成員的指標

一 指向類的普通成員的指標 非靜態 1 指向類成員函式的指標 簡單的講,指向類成員函式的指標與普通函式指標的區別在於,前者不僅要匹配函式的引數型別和個數以及返回值型別,還要匹配該函式指標所屬的類型別。總結一下,比較以下幾點 a 引數型別和個數 b 返回值型別 c 所屬的類型別 特別之處 究其原因,是...