不能创建类模板对象
Class Template Object cannot be created
我在我的一个类中使用模板,但由于某种原因,当我创建一个对象时,我得到的错误如下:类模板"Test"的参数列表缺失。
template <class T>
class Test
{
private:
T variable;
public:
Test(){cout << "CONSTRUCTOR CALLED" << endl;}
};
在main.cpp Test object;
编译器显示如下:'Test':使用类模板需要模板参数列表。
template <class T>
Test<T>::Test()
{
cout << "CONSTRUCTOR CALLED" << endl;
}
您必须指定要实例化class template
的类型。例如:
Test<int> object;
考虑如何使用std library
中的类模板,如vectors
,您必须指定类型,如int
,例如vector<int>
。
对于构造函数定义,它应该可以工作,但是,有一点是必须将声明和定义放在同一个头文件中,否则编译器无法找到定义。(有一些技术可以将声明和定义在不同的文件中分开,比如头文件末尾的"export"answers"#include cpp file")
相关文章:
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 具有包含其他对象的类的对象创建顺序
- 为什么我们再次从结构对象创建结构变量?
- 将对象创建为全局/静态对象会崩溃,而本地对象不会崩溃
- 如何创建一个对象创建函数,该函数将由与其关联的名称调用?
- 如何为自定义模板对象创建专门的函数模板
- 对象创建错误的C++矢量
- 如何为Python Swigged C++对象创建和分配回调函数
- 在 C++ 中为 C 样式对象创建一个透明包装类
- 此类模板的对象创建如何工作?
- C++ 中的对象创建类型有什么区别?
- 未知大小的数组作为类成员,用于在运行时(对象创建时间)创建数组的对象
- 如何仅通过父类对象限制对象创建
- 在正确性或良好的代码结构方面,这种动态对象创建看起来如何
- 无法将类对象创建为另一个类的成员
- 如何从现有基类对象创建派生类对象
- 在 DTor 之前删除的静态对象创建的线程?
- C++:定义多个构造函数时的对象创建/销毁序列
- 从对象创建矢量包装器,该对象只允许使用索引访问向量
- 是否可以为CPP中的对象创建一组指针