gpt4 book ai didi

c++ - 为什么允许使用空的 wchar_t 文字?

转载 作者:IT老高 更新时间:2023-10-28 23:14:53 25 4
gpt4 key购买 nike

看下面的代码:

int main(int argc, char* argv[])
{
// This works: (Disable Lang Ext = *Yes* (/Za))
wchar_t wc0 = L'\0';
wchar_t wc_ = L'';
assert(wc0 == wc_);

// This doesn't compile (VC++ 2010):
char c0 = '\0';
char c_ = ''; // error C2137: empty character constant
assert(c0 == c_);
return 0;
}

为什么编译器允许为宽字符定义一个字符文字?这对wide没有意义,就像编译器标记错误的char没有意义一样。

标准是否允许这样做?

最佳答案

这是a bug in VC++ .

关于c++ - 为什么允许使用空的 wchar_t 文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com