[英]C++ assigning function pointed by function pointer to another function pointer
我在類ClassA中有一個C ++函數指針:
void (ClassA::*funcPntr1)(void);
指向功能:
void func();
通過使用作業:
functPntr1 = &ClassA::func;
現在,我有另一個函數指針:
void (ClassA::*funcPntr2)(void);
我希望funcPntr2指向funcPntr1指向的函數。 我怎么做?
我試過這個:
funcPntr2 = &(this->*funcPntr); //normally, i invoke the function pointer by (this->*funcPntr)()
但是錯了。 我嘗試了很多邏輯組合,但似乎沒有用。
隨着任務:
funcPntr2 = funcPntr;
如果你想分配當前分配給它的指針,它只是一個賦值,正如其他人所說( funcPntr2 = funcPntr
)。
如果你希望這個賦值保持funcPntr2
,即如果你想funcPntr2
總是指向funcPntr
指向的位置,即使后者改變了,除非你改變定義,否則沒有辦法。
你必須這樣做
void (ClassA::**funcPntr2)(void);
funcPntr2 = &funcPntr
和 (*funcPntr)()
。 在談到C ++時,我並不熟悉; 也許你可以用引用做些什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.