提问人:Luis Torre 提问时间:2/7/2019 最后编辑:Luis Torre 更新时间:2/7/2019 访问量:123
模板类赋值运算符
Template class assignment operator
问:
我有一个名为“DynamicArray”的模板类有问题。我唯一的问题是当我定义赋值运算符时。它给了我两个不同的错误
1)它给我的第一个错误是
DynamicArray& 说“类模板”DynamicArray“的参数列表丢失”
2)第二个错误是
DynamicArray::operator= 表示“模板参数列表必须与参数列表匹配”
这是我的程序:
DynamicArray.h
#pragma once
#include <iostream>
using namespace std;
template<typename T>
class DynamicArray
{
public:
DynamicArray();
DynamicArray(const DynamicArray &d);
DynamicArray& operator=(const DynamicArray &d);
~DynamicArray();
};
template<typename T>
DynamicArray<T>::DynamicArray()
{
}
template<typename T>
DynamicArray<T>::DynamicArray(const DynamicArray &d)
{
}
template<typename T>
DynamicArray& DynamicArray<T>::operator=(const DynamicArray &d)
{
}
template<typename T>
DynamicArray<T>::~DynamicArray()
{
}
我看了多个例子,但无法弄清楚为什么我有这个问题。
谁能告诉我我在这里做错了什么?
答:
0赞
Ted Lyngmo
2/7/2019
#1
- 按照 Neil 的建议,将完整的模板放在头文件中,通过链接 为什么只能在头文件中实现模板?.
- 返回值应为
operator=
DynamicArray<T>&
上一个:模板类中的重载赋值运算符出现问题
下一个:专用结构/类中无法识别的数据成员
评论
operator=
DynamicArray<T>&
DynamicArray
DynamicArray<int>