可以在下面的程序中删除 void 指针吗?
class Sample
{
public:
int intVal;
float floatVal;
};
main() {
Sample *samObj = new Sample();
void *vPtr = samObj;
delete vPtr;
}
这只是我编写的一个示例程序。实际上,在我的项目中,除了做类似的事情,我别无他法。这个类似的代码在 .h 接口文件中,当我包含这个文件并编译其他组件时,编译器会发出警告消息“警告:删除 'void*' 是未定义的”,但我怀疑是因为我已经分配了 void Sample 对象类型的指针,删除这个指针不安全吗?