Kompilatorfel C3872

"char": det här tecknet tillåts inte i en identifierare

Anmärkningar

C++-kompilatorn följer C++11-standarden på tecken som tillåts i en identifierare. Endast vissa teckenintervall och universella teckennamn tillåts i en identifierare. Ytterligare begränsningar gäller för det inledande tecknet för en identifierare. Mer information och en lista över tillåtna tecken och namnintervall för universella tecken finns i Identifierare.

Det intervall med tecken som tillåts i en identifierare är mindre restriktivt vid kompilering av C++/CLI-kod. Identifierare i kod som kompilerats med hjälp av /clr bör följa Standard ECMA-335: Common Language Infrastructure (CLI).

Example

I följande exempel genereras C3872:

// C3872.cpp
int main() {
   int abc_\u0040;   // C3872, U+0040 is in base char set
   int abc_\u3001;   // C3872, U+3001 is not in allowed range
   int \u30A2_abc_\u3042;   // OK, UCNs in allowed range
}