Поделиться через


Ошибка компилятора C3873

"char": этот символ недопустим как первый символ идентификатора

Компилятор C++ следует стандарту C ++ 11 в отношении разрешенных символов в идентификаторе. В идентификаторе можно использовать только определенные диапазоны символов и универсальных имен символов. Дополнительные ограничения применяются к начальному символу идентификатора. Дополнительные сведения и список разрешенных символов и диапазонов универсальных имен символов см. в разделе Identifiers.

Диапазон разрешенных символов в идентификаторе шире, чем при компиляции кода C++/CLI. Идентификаторы в коде, скомпилированном с помощью /clr, должны соответствовать стандарту ECMA-335: Common Language Infrastructure (CLI).

Следующий пример приводит к возникновению ошибки C3873:

// C3873.cpp
int main() {
   int \u036F_abc;   // C3873, not in allowed range for initial character
   int abc_\u036F;   // OK, in allowed range for non-initial character
}