如何使Resharper语法突出显示的不存在依赖名称(例如成员字段)成为错误?

在下面的代码中,我希望a.nonMember具有红色花体。

template<class T>class Test1{
    public: int member;
};
template<class T>void f(){
    Test1<T> a;
    a.member=5;
    a.nonMember=8;    //<-- expect red squiggle here
}


但是,没有这样的红色花体。

我相信一定有这样的功能,
 因为Resharper已经可以正确识别Test1<>的所有字段(如下图所示)。

c&#43;&#43; - 红字不存在的依赖名称(例如C &lt;T&gt;::nonMember)为错误-LMLPHP

最佳答案

Resharper没错。它没有办法知道这样的成员不存在,因为该成员是依赖的,因此可能存在。

template<>
class Test1<int> {
    public: int nonMember;
};


现在,当我们可以调用f<int>()时应突出显示什么?专业化的可能性意味着对依赖名称进行此类诊断很困难。

08-26 19:47