Почему std::basic_ifstream Visual Studio считает deprecated? C++
Есть такой простейший код:
std::basic_ifstream<char16_t> stream{"path"};
И вижла не дает скомпилировать код, потому что внутри std::basic_filebuf используется std::codecvt, который deprecated. Ошибку выдает такую:
warning C4996: 'std::codecvt<char16_t,char,mbstate_t>': warning STL4020: std::codecvt<char16_t, char, mbstate_t>, std::codecvt<char32_t, char, mbstate_t>, std::codecvt_byname<char16_t, char, mbstate_t>, and std::codecvt_byname<char32_t, char, mbstate_t> are deprecated in C++20 and replaced by specializations with a second argument of type char8_t. You can define _SILENCE_CXX20_CODECVT_FACETS_DEPRECATION_WARNING or _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
Я не смог решить проблему и попытался хотя бы заглушить варнинги, сделав так, как вказано в сообщении, но это не помогло:
#define _SILENCE_CXX20_CODECVT_FACETS_DEPRECATION_WARNING
Как решить эту проблему?