如何使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<>
的所有字段(如下图所示)。最佳答案
Resharper没错。它没有办法知道这样的成员不存在,因为该成员是依赖的,因此可能存在。
template<>
class Test1<int> {
public: int nonMember;
};
现在,当我们可以调用
f<int>()
时应突出显示什么?专业化的可能性意味着对依赖名称进行此类诊断很困难。