1

我正在尝试编译 HDF5DotNet 库。我正在使用来自http://www.hdf5.net/的“HDF5DotNet 源代码和示例” 。

我可以在虚拟机中使用 Visual Studio 2008 和 2010 编译库。我仍然需要让它在 Visual Studio 2012 中运行并得到以下错误:

Error 1: error C2668: 'System::Array::Copy' : ambiguous call to overloaded function ObjectReference.cpp, 30, 1, HDF5DotNet

Error 2: error C2668: 'System::Array::Copy' : ambiguous call to overloaded function RegionReference.cpp, 30, 1, HDF5DotNet

IntelliSense: more than one instance of overloaded function "System::Array::Copy" matches the argument list:
- function "System::Array::Copy(System::Array ^sourceArray, System::Array ^destinationArray, int length)"
- function "System::Array::Copy(System::Array ^sourceArray, System::Array ^destinationArray, long long length)"

我确实理解该错误,但我不知道如何避免它。该应用程序当前是为 x86 构建的,但我希望稍后可以选择为 x64 编译 dll。

4

1 回答 1

1

只需将常量类型转换为 int。

Array::Copy(a, m_rr, (int)H5R_DSET_REG_REF_BUF_SIZE);
于 2014-01-20T17:31:43.337 回答