【发布时间】:2015-11-23 08:34:25
【问题描述】:
我目前正在编写一个构建桥梁的接口包装类 在托管代码和 c++ 类之间。因为这个 c++ 类确实导出 模板方法我在调用它们时遇到了一些麻烦。我要曝光 一个泛型方法,然后调用相应的模板方法。
在下面的示例中,我想公开 AppendData,它调用 _AppendData, 然后调用模板方法。
我收到 _AppendData 调用的编译错误: 错误 1 错误 C2664: 'void managedInterface::Channel::_AppendData(cli::array ^)' : 无法将参数 1 从 'cli::array ^' 转换为 'cli::array ^' d:\sources\something\一些出口.h 421 1
我做错了什么?
generic <typename T> void AppendData ( array<T> ^aArray)
{
_AppendData(aArray);
}
internal:
void _AppendData(array<char> ^aArray);
void _AppendData(array<short> ^aArray);
void _AppendData(array<int> ^aArray);
void _AppendData(array<long long> ^aArray);
void _AppendData(array<unsigned char> ^aArray);
void _AppendData(array<unsigned short> ^aArray);
void _AppendData(array<unsigned int> ^aArray);
void _AppendData(array<unsigned long long> ^aArray);
void _AppendData(array<float> ^aArray);
void _AppendData(array<double> ^aArray);
template <typename T> void __AppendData(array<T> ^aArray)
{
}
【问题讨论】:
标签: templates generics c++-cli