C++ 从VS 2008升级到VS 2015时出现编译错误
从VS2008升级到VS2015时,我在编译下面的代码时出错。代码来自com4j项目。需要帮助。谢谢C++ 从VS 2008升级到VS 2015时出现编译错误,c++,visual-studio-2015,visual-studio-2008,C++,Visual Studio 2015,Visual Studio 2008,从VS2008升级到VS2015时,我在编译下面的代码时出错。代码来自com4j项目。需要帮助。谢谢 语法错误:缺少“;”在“之前,VARTYPE代表什么?它是宏吗?用class或typename替换可能会有帮助也许在XDUCER::JavaType之前删除typename会有帮助吗?不,不起作用。我很抱歉。模板参数太少..定义为:typedef unsigned short VARTYPE;上面这行是指一个宏:用于计算上述pClipData的大小的宏#定义CBPCLIPDATA(clipda
- 语法错误:缺少“;”在“之前,
代表什么?它是宏吗?用VARTYPE
或class
替换可能会有帮助也许在typename
之前删除XDUCER::JavaType
会有帮助吗?不,不起作用。我很抱歉。模板参数太少..定义为:typedef unsigned short VARTYPE;上面这行是指一个宏:用于计算上述pClipData的大小的宏#定义CBPCLIPDATA(clipdata)((clipdata).cbSize-sizeof((clipdata.ulClipFmt))@OyvindFoshaug错误3表示typename
不明确。是否包含多个名为数组
的名称空间或类?这是一个有效点。我将指定相关的名称空间。语法没有问题。array
、array
或array
的定义可能有问题。下面是我的简单定义示例。它很好用SAFEARRAY
typedef unsigned short VARTYPE
typedef int SAFEARRAY
命名空间数组{template class array{T*T;};};}
// Class to marshal SAFEARRAY to Java multi dimensional array // // itemType : array item type // XDUCER : converter for each array item template < VARTYPE itemType, class XDUCER > class ToJavaMultiDimlArrayMarshaller { typedef array::Array<typename XDUCER::JavaType> JARRAY; // Errors here typedef SAFEARRAY* NativeType; typedef jarray JavaType;