gpt4 book ai didi

c++ - 结构引用 (.) 运算符适用于 vc9 中的类名

转载 作者:搜寻专家 更新时间:2023-10-31 00:40:46 26 4
gpt4 key购买 nike

以下代码在我的 vc9 版本上编译:

wstring test2;
if (test2.find(L'c') == wstring.npos)
{
}

但就其本身

wstring.npos;

没有。 (wstring::npos; 工作正常)在我看来,这是 100% 错误的。起初我以为可能正在构造一个 wstring 并且 npos 成员正在通过 wstring().npos 访问,但是快速尝试进入该行表明并非如此。用我自己的一类结果模拟同样的情况

warning C4832: token '.' is illegal after UDT 'Foo'

但仍然可以编译。

只是为了我的理智 - 这种语法应该不起作用,对吧?既然它确实有效,为什么表达式 wstring.npos; 会失败?

最佳答案

wstring.npos 应该 工作,因为npos 是一个static 成员并且可以通过带有范围解析运算符的类名 (wstring::npos) 或通过带有点运算符的类 instance (wstring str; str.npos;).

关于c++ - 结构引用 (.) 运算符适用于 vc9 中的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14148534/

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