当前位置:  开发笔记 > 编程语言 > 正文

使用专业类中的类模板的内部类型

如何解决《使用专业类中的类模板的内部类型》经验,为你挑选了0个好方法。

编辑:当我去度假时,我实际上没有机会测试任何建议的解决方案,当我回来时,负责类模板的人做了一些改变,让我可以绕过需要使用类模板本身定义的类型.

感谢大家的帮助.


简而言之 - 并且随意纠正我的措辞,模板对我来说仍然有点巫术, - 我需要知道我是否可以在我的专业类中使用(protected)struct#typedef定义的类模板.例如:

这是类模板:

template
class A : public C
{
protected:
    struct a_struct { /* Class template implementation, doesn't depend on T */ };
    void foo( a_struct a );
};

我需要完全专注于T = VAL:

template<>
class A< VAL > : public C< VAL >
{
    void foo( a_struct a )
    {
        // My implementation of foo, different from the class template's
    }
};

但是,如果我做这样的事情,编译器抱怨a_struct在我的专门课程中未定义.我尝试了从类模板中专门化和继承,但是......太乱了.

我看到了一些解决方案,但所有这些都涉及修改类模板,这是我无法轻易做到的事情(不同的团队).

思考?

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有