簡體   English   中英

如何從靜態函數返回指向const的指針?

[英]How to return pointer to const from static function?

static const Function* Get...();

為什么我不能從靜態成員函數返回指向const的指針? 可以嗎

哪里

typedef void Function(Object * object, HandlerAction action);

我只是不想讓調用者更改他得到的函數指針。

您試圖在代碼中返回的是一個指向常量非成員函數的指針(但這不是有效的構造,只有成員函數可以是常量)。

您想要做的是返回一個指向函數的常量指針,該常量的編寫方式如下:

static Function * const Get...();

const始終適用於其最左邊的類型; 除非它是第一件事(在您的情況下是這樣,因為static是沒有類型的,因此不能設為const -在這種情況下,它適用於其直接右邊的類型,在您的情況下為Function ,因此函數類型本身,而不是指針。

暫無
暫無

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

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