如何使 Visual Studio 为具有类型取决于别名的函数显示完全推导的内容辅助T
?
例子
b.f
在示例中不能给我一个完全推断的内容辅助。
它应该是线索int
,不是SomeClass::A<int>::AT
。
class SomeClass{
template<class T>class A{public: using AT=T;};
template<class AX>class B{public: void f( typename AX::AT){}};
template<class AX,class X>class C{public: void f( typename X){}};
public: void test(){
B<A<int>> b; b.f(
}
};
测试b.f()
:-
糟糕的解决方法
我必须重构B<A<int>>
为.C<A<int>,
int
>
template<class T>class A{public: using AT=T;};
template<class AX,class X>class C{public: void f( typename X){}};
public: void test(){
C<A<int>,int> c; c.f(
}
测试c.f()
:-
我可能过于依赖内容辅助,但它对像我这样的新手很有帮助。