1
static const Function* Get...();
爲什麼我不能從靜態成員函數返回指向const的指針?或者我可以嗎?如何從靜態函數返回指向const的指針?
凡
typedef void Function(Object * object, HandlerAction action);
我只是不想讓來電者改變函數指針他得到了。
static const Function* Get...();
爲什麼我不能從靜態成員函數返回指向const的指針?或者我可以嗎?如何從靜態函數返回指向const的指針?
凡
typedef void Function(Object * object, HandlerAction action);
我只是不想讓來電者改變函數指針他得到了。
你試圖在你的代碼中返回的是一個指向常量非成員函數的指針(但這不是一個有效的結構,只有成員函數可以是常量)。
你想要做的是一個常量指針返回的功能,這將是這樣寫的:
static Function * const Get...();
const
總是應用於類型與其立即離開;除非它是第一件事情(因爲static
是無類型的,因此不能製作const
- 在這種情況下,它適用於它的直接右側的類型,即Function
),所以函數類型本身,而不是指針。