我试图要处理的一个IDisposable目(文件流^fs)在管理C++(.网2.0)和获得的错误

'Dispose' : is not a member of 'System::IO::FileStream'

它说我应该祈求析构来代替。将叫

fs->~FileStream();

调用的处理方法的文件流的对象?为什么我不能叫处置?

有帮助吗?

解决方案

正确的模式是,只是删除的对象:

delete fs;

这将被翻译成一个呼吁Dispose()

看看这个 对于某些细节是什么引擎盖下。利用这个谚语是说,它可以让你写:

{
  FileStream fs(...)
  ...
}

和有处置方法叫做正确的...相当于一使用区块。该文件流的对象仍然是分配上的管理堆。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top