Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;11:std::locale::empty()是一件事吗?_C++_C++11_Locale - Fatal编程技术网

C++ C++;11:std::locale::empty()是一件事吗?

C++ C++;11:std::locale::empty()是一件事吗?,c++,c++11,locale,C++,C++11,Locale,尝试从StackOverflow编译,基本上,以下几行: std::wifstream wif(filename); wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8<wchar_t>)); std::wifstream wif(文件名); imbue(std::locale(std::locale::empty(),新std::codevt_utf8)); GCC版本:GCC(Ubuntu 5.4

尝试从StackOverflow编译,基本上,以下几行:

std::wifstream wif(filename);
wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8<wchar_t>));
std::wifstream wif(文件名);
imbue(std::locale(std::locale::empty(),新std::codevt_utf8));
GCC版本:
GCC(Ubuntu 5.4.0-6ubuntu1~16.04.4)5.4.0

我得到一个编译错误:

“empty”不是“std::locale”的成员

我同意编译器的观点,通过文档检查,比如-没有关于这类事情的信息。头文件也不显示任何内容

我想知道,这是我还是来自另一个主题的示例代码


这可能是MSVC的功能吗?(我使用的示例代码来自与Windows相关的问题)

这是locale类的特定于平台的扩展,通常在*:

在此实现中,还可以调用静态成员函数:

static locale empty( );
构造一个没有面的
locale
对象。它也是一个透明的区域设置;如果模板函数
具有_facet
使用_facet
在透明区域设置中找不到请求的facet,则它们首先查阅全局区域设置,如果是透明的,则查阅经典区域设置


*MSVC文档链接现已过时,有关最佳替换,请参见

@dan04谢谢!我想“在这个实现中”这句话很关键——它是一个特定于平台的扩展,而不是一个标准成员。@TobySpeight事实上,它是MSVC提供的一个扩展(我想,实际上,它只适用于某些版本),就像已经死了一样。更新版本:@phuclv我猜你的意思是链接,谢谢,将更新