0

如何使 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():-

在此处输入图像描述

我可能过于依赖内容辅助,但它对像我这样的新手很有帮助。

4

0 回答 0