TEXT("foo")
может расширяться до L"foo"
или "foo"
, в зависимости от того, определен макрос UNICODE
или нет.
Очевидно, что VSCode intellisense предполагает, что он определен, но GCC не определяет егопо умолчанию.
Если он не определен, TEXT(c);
расширяется до c;
, и поскольку есть переменная с именем c
, вы не получите ошибку компиляции.
Чтобы предотвратитьGCC не соглашаясь с intellisense, вы можете -DUNICODE
пометить вызов GCC (или как-то сказать intellisense не определять этот макрос).