今天我已經瞭解到,函數指針和數據指針是不一樣的,因此彼此不兼容(Why are function pointers and data pointers incompatible in C/C++?)。然而,我的問題是,不同的函數(非成員)指針彼此兼容(以相同的方式實現)。不同的函數指針是否相互兼容?
在代碼:
typedef void(*FuncPtr0)();
typedef void(*FuncPtr1)(int);
FuncPtr0 p0;
FuncPtr1 p1;
p0 = reinterpret_cast<FuncPtr0>(p1); // will this always work, if p1 really
p0(); // points to a function of type FuncPtr0
感謝您的幫助!
非常感謝!似乎很容易找到這個問題的答案。請問你,你是如何去尋找標準中的引文的? – rozina
@rozina只是看看段落,那就是reinterpret_cast。 – ForEveR
我GOOGLE了,發現標準不是免費的,這就解釋了爲什麼沒有谷歌搜索結果顯示標準只有在這裏引用stackoverflow :)但再次感謝! – rozina