Enum с атрибутом в коде c ++ / cli, сгенерированном xsd.exe, не компилируется - PullRequest
0 голосов
/ 08 февраля 2012

Я сгенерировал классы с этим xsd https://services.intuit.com/sb/dataservices/xsd/v2/finance/Finance.xsd, используя xsd.exe

xsd.exe Finance.xsd / c / language: cpp /n:Intuit.Sb.Cdm

Когда я компилирую, я получаю такие ошибки, как:

в сравнении с 2010 г. Ошибка 1, ошибка C2226: синтаксическая ошибка: неожиданный тип 'Intuit :: Sb :: Cdm :: SalesTaxGroup

в сравнении с 2008 г. Ошибка 1, ошибка C2144: синтаксическая ошибка: «Intuit :: Sb :: Cdm :: Payment» должен предшествовать «}»

Строки, на которые жалуется компилятор, находятся вокруг определений перечисления с атрибутами, такими как ..

    [System::Xml::Serialization::XmlEnumAttribute(L"Other Charge")]
    OtherCharge,

Я посмотрел атрибут на msdn, и это правильный синтаксис. Ошибка возникает после второго или третьего использования этого атрибута в перечислении.

Существуют ли обходные пути для этого, кроме удаления атрибута или генерации кода C #?

...