неожиданный тип ‘USN’, когда член класса помечен как [DataMember]

В моем проекте C ++ у меня есть класс SOAP:

namespace soapcon
{
[DataContract]
public ref class z
{
public:
[DataMember]
int USN;
};
}

Если USN участник помечен как [DataMember]Я получаю ошибку компилятора syntax error : unexpected type 'USN', Однако, если я закомментирую [DataMember]все компилируется без ошибок.

Является USN тип, используемый WCF, или есть какая-то другая причина этой ошибки?

0

Решение

Оказывается USN определяется в C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h как typedef LONGLONG USN,

Я узнал об этом, положив

typedef int USN;

линия вне пространство имен, из-за которого компилятор сообщал об ошибке, сообщавшей о местонахождении исходного typedef.

Кажется, что происходит то, что USN быть [DataMember] заставляет компилятор искать в глобальном пространстве имен и находить typedef для USN,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]