gpt4 book ai didi

c++ - 将任何指针传递给要删除的函数

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:29 25 4
gpt4 key购买 nike

我想创建一个函数,它接受一个指向类实例的指针作为参数,然后删除它。问题是我事先不知道它将删除什么。基本上我需要的是这样的:

void Foo(pointer* generic_pointer){
//Some code here
delete generic_pointer;
//Some more code here
}

我想过使用 void* 但这显然是非常糟糕的编码,并且会导致困惑。

注意:我有一个基本上是循环的对象,当它结束时我需要创建另一个对象(不同类),它也是一个循环,然后删除原来的。使用 delete this 我无法启动所需的循环,所以我想我可以从第二个对象中删除它,但它可能从任何类型的对象开始,所以这是我唯一能想到的。关于如何操作还有其他建议吗?

最佳答案

这是不可能的。 delete 运算符使用数据的类型来推断要调用的析构函数。如果类型是 void*,它就不能推断出任何合理的东西。您可能需要查看智能指针主题。

关于c++ - 将任何指针传递给要删除的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com