我想保证我传递给函数的指针不能在这个函数中被删除(我的意思是编译器在处理这样的函数时会产生错误)。以下是原来的情况。
void foo(Bar *bar) { delete bar; }
现在我尝试了一些方法都没有成功。
void foo(Bar *bar) { delete bar; }
void foo(const Bar * const bar) { delete bar; } { delete bar; }
template <typename T> void foo(const T &t) { delete t; } // calling foo(bar);
我想知道是否有某种方式禁止删除指针如果不可能,为什么要这样做?