簡體   English   中英

C ++分配函數指向另一個函數指針的函數指針

[英]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
  • call (*funcPntr)()

在談到C ++時,我並不熟悉; 也許你可以用引用做些什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM