如何将我自己的类的任何对象转换为指向 void 的指针?
MyClass obj;
(void*)obj; // Fail
最佳答案
MyClass obj;
void *p;
p = (void*)&obj; // Explicit cast.
// or:
p = &obj; // Implicit cast, as every pointer is compatible with void *
但是要小心! obj
以这种方式在堆栈上分配,一旦您离开该函数,指针就会失效。
编辑:更新以表明在这种情况下不需要显式转换,因为每个指针都与空指针兼容。
关于c++ - 转换为无效*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6534222/