【发布时间】:2020-06-24 23:42:08
【问题描述】:
请考虑以下代码:
int f(int i){return i*i;};
int main() {
void* p = static_cast<void*>(&f);
return 0;
}
您可以see here 代码无法编译。
为什么 C++ 中不允许 static_cast 从 int (*)(int) 到 void*?
【问题讨论】:
-
重新打开 - “重复”是一种不同的语言(也没有真正解决问题)
-
@M.M 答案看起来相当不错,而 C 与 C++ 不太可能成为该主题的一个因素。如果您认为可以做得更好,可以随时在骗子上添加新答案:)
-
也许开始here
标签: c++ casting void-pointers