【发布时间】:2011-07-18 13:54:06
【问题描述】:
如何避免错误
C4150:删除指向不完整类型 COldStuff 的指针;没有调用析构函数
不添加标题。例如
class COldStuff;
class CSomething
{
...
CAnother<COldStuff> m_test;
}
我正在为所有这些使用遗留代码(即COldStuff、CAnother、CSomething)。当我添加标题来修复 c4150 时,我遇到了循环依赖,尤其是重新定义问题。我还能如何解决这个问题;如果我不能关闭将警告视为错误,或者忽略它,或者更改遗留代码......我可以让编译器知道COldStuff 的析构函数或者COldStuff 确实有析构函数吗?
【问题讨论】:
-
明确地说,这是因为您在此标头之前包含的 CAanother
模板定义了一个删除 T*? 的内联函数? -
没错。对不起,我忘了提到那部分。
标签: c++ visual-c++ warnings