I have some strange and stupid situation. I have this part of code:
FString x = TEXT("ааааааа");//Russian language (line 54)
Caesar* ciph = new Caesar;// (line 55)
When I try to compile my project, I have such errors:
../Widget_Manager.cpp(54): error C2001: newline in constant
../Widget_Manager.cpp(55): error C2146: syntax error: missing ';' before identifier 'Caesar'
The most interesting thing (for me at least) that if I change 54 line on:
FString x = TEXT("абвгдеё");//Russian language (line 54)
or
FString x = TEXT("abcdefg");//English language (line 54)
or if I delete 1 'a' from Russian "ааааааа". It's compile.
Also I try hitting the keyboard in different ways, and I found other uncompiled letter combinations on Russian like: риорыва
and нкешшур
.
It's work similary without TEXT()
macros.
As I understand Russian language contains, beginning with UTF-16. FStrigs is UTF-16. The only thing with which I can associate the behavior of the compiler is that (as far as I know) by default it works in the UTF-8 (whatever that means).
I would be glad if someone understand and can explain me what's going on.
I work in Visual Studio 2019, UE 4.26.1.
////////////////////////////////////////////////
Afterword:
Problem was solved, but question: "Why some of Russian letter combination are compiled encoding while other combination are not compiled (on Cyrillic windows 1251)?" still remains.