Миграция с нативного C ++ на C ++ / CLI: новые ключевые слова конфликтуют со старыми именами - PullRequest
2 голосов
/ 10 февраля 2012

Я пытаюсь добавить некоторые функции CLI в существующую библиотеку C ++. В одном из включений класс определяет

includedHeader.h:

class IncludedClass
{
    SomeType generic;
    SomeType specific;
}

Этот код компилируется в C ++, но имя члена generic теперь распознается как ключевое слово. Есть ли способ отключить новый синтаксис из частей кода?

Редактировать: ошибка компилятора

error C2059: syntax error : 'generic'
error C2238: unexpected token(s) preceding ';' 

оба ссылаются на строку с "generic".

1 Ответ

2 голосов
/ 07 ноября 2012

Если вы связываете скомпилированную библиотеку, вы можете сделать что-то вроде этого:

#define generic     __identifier(generic)

#include <includedHeader.h>

#undef generic
...