找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻尊貴會員無限下載附件你準備好成為出色的版主了嗎?
偷拍ntrfate名偵探柯vr鬼滅之刃office
轉生babymonsおねショおねショ超級機器牧場西元明沙

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]迷宮飯12~15-

[繁]戰隊大失格02-

(4月新番)[繁]夜櫻家

(4月新番)[繁]轉生為

[簡]狼與辛香料 Merch

在店內買個飲料也會出
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1452|回復: 4
打印上一主題下一主題

[問題][已解決-4樓大神]這應該算是涵式指標問題吧[複製鏈接]

Rank: 2Rank: 2

帖子
475
積分
967 點
潛水值
31639 米
跳轉到指定樓層
樓主
發表於 2021-6-10 12:06 PM|只看該作者|倒序瀏覽
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
本帖最後由 baepi 於 2021-6-13 02:39 PM 編輯

小弟最近有個專案~需要用到如下功能...以下是範例,與小弟的問題
  1. class _class
  2. {
  3. public:
  4.         void(*Func_Name) (void) = NULL;
  5.         void aa()
  6.         {
  7.                 cout << "這是內部程式\n";
  8.         }
  9. };
  10. void bb()
  11. {
  12.         cout << "這是外部程式\n";
  13. }
  14. void main()
  15. {
  16.         _class cc;
  17.         cc.Func_Name = bb;
  18.         cc.Func_Name();
  19.         system("pause");
  20.         cc.Func_Name = cc.aa;//此處不合法
  21.         cc.Func_Name();
  22.         system("pause");
  23. }
複製代碼
如程式碼展示~當cc.Func_Name = bb;<<<指向非class與其它包裝類的程式碼時,這是可以正常運作的
但是當cc.Func_Name指向class內的涵式時,編譯器就不給過了(廢話)
我依稀記得是有辦法可以解決的~但是太少碰到此情況~現在已經不記得怎樣才可以指向類別類的涵式
請知道的大大們告知~在此先感謝了
...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0

使用道具檢舉

  尊貴會員

Melty Snow  雪靈

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
3222
積分
24364 點
潛水值
77170 米
頭香
發表於 2021-6-12 04:32 AM|只看該作者
  1. int main()
  2. {
  3.         _class cc;
  4.         //cc.Func_Name = bb;
  5.         //cc.Func_Name();
  6.         cc.Func_Name = &_class::aa;//此處不合法
  7.         (cc.*cc.Func_Name)();
  8. }
複製代碼
bb 和 aa 原則上只能二選一,不然就是得調整呼叫方式
因為成員函式編譯完實際上會塞一個 this 指標當第一個參數
所以 aa 和 bb 其實傳的參數個數不同
...
瀏覽完整內容,請先 註冊登入會員
Melty Snow [雪靈]
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

Rank: 2Rank: 2

帖子
475
積分
967 點
潛水值
31639 米
3
發表於 2021-6-12 11:24 AM|只看該作者
snowflying 發表於 2021-6-12 04:32 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

bb 和 aa 原則上只能二選一,不然就是得調整呼叫方式
因為成員函式編譯完實際上會塞一個 this 指標當第一個 ...

感謝有大神回應~~~
...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

  尊貴會員

Melty Snow  雪靈

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
3222
積分
24364 點
潛水值
77170 米
4
發表於 2021-6-13 01:09 AM|只看該作者
baepi 發表於 2021-6-12 11:24 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

感謝有大神回應~~~
如大神所述~二者只能取其一~而我想要的~正是指向class內部的涵式
畢竟指向外部...於我 ...

抱歉,我忘記 class 裡面有修改,忘了附上,前一層樓那個是可以動的
...
瀏覽完整內容,請先 註冊登入會員
Melty Snow [雪靈]
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

  尊貴會員

阿皇仔

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
7856
積分
574297 點
潛水值
291444 米
5
發表於 2021-6-13 03:23 AM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
baepi 發表於 2021-6-12 11:24 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

感謝有大神回應~~~
如大神所述~二者只能取其一~而我想要的~正是指向class內部的涵式
畢竟指向外部...於我 ...

https://pastebin.com/a16Qp31A
...
瀏覽完整內容,請先 註冊登入會員





若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部