No C ++, 20 u8literais de string são baseados no char8_ttipo. Eles deliberadamente não se convertem char const*mais:
const char* str = u8"Hall\u00f6chen \u2603"; // no longer valid in C++20
Obviamente, o objetivo final ao migrar para o C ++ 20 é seguir completamente o novo comportamento (no exemplo acima: alterar o tipo de str). No entanto, devido às bibliotecas de terceiros, isso geralmente não é possível imediatamente.
As propostas que introduzem e "remediam" char8_t antecipam isso e mencionam que, no clang e no gcc, existe o -fno-char8_tsinalizador para voltar ao comportamento antigo (enquanto ainda é possível aproveitar outros recursos do C ++ 20).
A segunda proposta configura a expectativa de que a Microsoft siga e adicione um sinalizador semelhante, mas não consegui descobrir como configurá-lo (pelo menos no VS 2019, versão 16.4).
Alguém sabe o que é o equivalente ao MSVC -fno-char8_t?