以下代码在我的vc9版本上编译:
wstring test2;
if (test2.find(L'c') == wstring.npos)
{
}
但本身
wstring.npos;
才不是。 (
wstring::npos;
正常工作)在我看来,这是100%错误。起初我以为可能正在构造wstring并且正在访问ala wstring().npos
来访问npos成员,但是建议尝试快速进入该行。用我自己的结果模拟这种情况但仍然可以编译。
仅出于我的理智-此语法不起作用,对吧?鉴于它确实起作用,为什么表达式
wstring.npos;
失败? 最佳答案
wstring.npos
应该为而不是起作用,因为npos
是static
成员,可以使用范围解析运算符(wstring::npos
)的类名或通过点运算符(wstring str; str.npos;
)的类实例进行访问。