模板类,如
template <typename T>
class CHDF5Raster
{
public:
CHDF5Raster();
~CHDF5Raster()
{
if (m_Writing)
{
status = H5Fflush(m_H5File, H5F_SCOPE_GLOBAL);
if (status < 0)
....
}
}
....
}
在我定义的代码
之后std::unique_ptr<CHDF5Raster<int>[]> raster;
在其他地方,由于代码的动态
m_pCatchRasterR8.reset(new CHDF5Raster<int> [DYNAMIC_NUMBER]);
好又甜又好。一切都很好。
但是现在我跑
编辑
忘了提一下,我使用 Microsoft VC 2012 编译器和 Intel Composer 2013 。 它们都产生相同的结果。
链接错误
错误1错误LNK2019:未解析的外部符号__imp_H5Fflush 在函数&#34; public中引用:__ cdecl
CHDF5Raster ::〜CHDF5Raster(无效)&#34; (?? 1?$ CHDF5Raster @ H @@ QEAA @ XZ)
H5Fflush
上的链接错误,这是链接库的一个功能。库调用还有其他链接错误(这不是唯一的错误),为简单起见我省略了它们。
为什么我在动态数组上定义std::unique_ptr
后会出现 链接 错误,而没有它一切都很好?
如何解决此问题?