在我的C++项目中,我有一个SOAP类:
namespace soapcon
{
[DataContract]
public ref class z
{
public:
[DataMember]
int USN;
};
}如果USN成员被标记为[DataMember],我会得到一个编译器错误syntax error : unexpected type 'USN'。但是,如果我注释掉[DataMember],所有内容都可以编译,没有错误。
USN是否是WCF使用的类型,或者是否有其他原因导致此错误?
发布于 2017-07-13 23:01:25
事实证明,USN在C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h中被定义为typedef LONGLONG USN。
我是通过把一个
typedef int USN;行,这会导致编译器报告一个错误,该错误报告了原始类型定义的位置。
似乎正在发生的事情是,将USN声明为[DataMember]会导致编译器查找全局名称空间,并找到USN的类型定义。
https://stackoverflow.com/questions/45057024
复制相似问题