如何在类声明之外定义嵌套模板化类的方法?
How do you define a nested templated class' method outside of the class declaration?
如何在类声明之外定义func
,class A{...};
下面?
template<typename T>
class A
{
template<typename Q>
class B
{
static void func(const A<T>& a){} // How do I define this function outside of the class declaration?
};
};
使用双模板:
template<typename T>
template<typename Q>
void A<T>::B<Q>::func(const A<T>& a)
{
}
这相当简单:
template<typename T>
template<typename Q>
void A<T>::B<Q>::func(const A<T>& a) { }
基本上,这与在类模板的声明之外定义模板化类方法的技术相同。 例如:
template<typename T>
class test
{
template<typename U>
void func(const U& u);
};
您将在类外部定义func
,如下所示:
template<typename T>
template<typename U>
void test<T>::func(const U& u) { }
相关文章:
- 单独定义模板化嵌套类方法的正确语法
- 在 c++ 中实现嵌套循环的更短方法吗?
- 如何在该接收类之外声明嵌套类的方法
- 从列表/向量制作嵌套 for 循环的最佳方法是什么?
- 如何重写继承的嵌套类中存在的虚拟方法
- CRTP:为什么获得嵌套类型和派生类的嵌套方法有区别
- 在 C 中并行化嵌套循环的几种方法之间的差异,C++使用 OpenMP
- 嵌套类的替代方法
- 许多变量,没有嵌套循环的最佳方法
- 在嵌套名称空间范围中使用名称空间的正确方法
- C++:将 Args && ... _args传递到嵌套列表的正确方法?
- 如何使用new()在嵌套类中调用方法
- 执行三个嵌套for循环的最快方法是什么
- 模板化方法中使用的嵌套类的未解析外部符号
- 覆盖我正在扩展的嵌套类的方法
- 定义类(和嵌套类)成员函数的更好/更整洁/更可读的方法
- 简单C++是嵌套布尔方法
- 静态嵌套bool会帮助我禁用对某些类型的调用吗?或者有更干净的方法吗
- 有没有一种方法可以将宏名称作为参数传递给嵌套宏,而在最外层宏展开时不展开它们
- 执行方法调用时,有什么理由不C++中添加嵌套类/结构解析