通过typedef显式实例化模板
Explicit template instantiation through a typedef
如果我有
typedef Foo<float> Foof;
为什么我不能像这个一样显式实例化模板
template class Foof;
除了键入Foo<float>
之外,还有其他解决方法吗?
除了输入Foo之外,还有其他解决方法吗?
不,不幸的是没有。您必须键入Foo<float>
。至于原因,请参阅该规则的C++标准14.7.2第3条(不过我不知道该规则背后的原理)。
相关文章:
- 从C++实例化QML
- 设计一个只能由特定类实例化的类(如果可能的话,通过make_unique)
- 如何创建一个空的全局类并在启动时实例化它
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 约束和显式模板实例化
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 对象实例化调用构造函数的次数太多
- 如何使用非默认构造函数实例化模板化类
- 静态数据成员模板专用化的实例化点在哪里
- 错误的cv::face FacemarkLBF实例化
- C++的解析器在可以区分比较和模板实例化之前会做什么?
- 为什么 gcc 和 clang 为函数模板的实例化生成不同的符号名称?
- 通过 typedef 模板<类型名 T、T> 强制模板实例化 - 为什么有效?
- 进行Typedef并使用模板实例化
- typedef 中的模板实例化的范围是否有限
- C++部分模板实例化中的 typedef
- 通过typedef显式实例化模板
- typedef和显式实例化之间的代码重复
- 在模板实例化和extern模板声明中使用typedef
- 使用宏是为了为可变模板实例化提供typedef,这是使用宏的正当理由