C++ 错误:在';之前需要构造函数、析构函数或类型转换&';代币

C++ 错误:在';之前需要构造函数、析构函数或类型转换&';代币,c++,templates,assignment-operator,C++,Templates,Assignment Operator,标题真的说明了这一切,我犯了这个错误,我只是不知道该把什么放在前面&让它工作有什么想法吗 我只使用了我认为必要的部分头文件和cpp文件 标题: #include <iostream> using namespace std; #ifndef INDEXLIST_H #define INDEXLIST_H template <class T> class indexList { public: //constuctor, default //Descript

标题真的说明了这一切,我犯了这个错误,我只是不知道该把什么放在前面&让它工作有什么想法吗

我只使用了我认为必要的部分头文件和cpp文件

标题:

#include <iostream>
using namespace std;


#ifndef INDEXLIST_H
#define INDEXLIST_H

template <class T>
class indexList
{
 public:
  //constuctor, default
  //Descriptions: Initializes numberOfElement to 0
  //              Initializes maxSize to 100
  //Parameters:   none
  //Return:       none

  indexList(int size = 10);

  //copy constructor
  indexList(const indexList &rhs);

  //destructor
  ~indexList();

  //assignment operator
  indexList &operator=(const indexList &rhs);
#包括
使用名称空间std;
#ifndef索引列表\u H
#定义索引列表
样板
类索引列表
{
公众:
//默认构造函数
//描述:将numberOfElement初始化为0
//将maxSize初始化为100
//参数:无
//返回:无
索引列表(整数大小=10);
//复制构造函数
索引列表(常量索引列表和rhs);
//析构函数
~indexList();
//赋值运算符
索引列表和运算符=(常量索引列表和rhs);
cpp:

//赋值运算符
样板
//错误发生在下面的行上
索引列表和索引列表::运算符=(常量索引列表和rhs)
{
如果(*此!=rhs)
{
删除[]列表;
numberOfElement=rhs.numberOfElement;
maxSize=rhs.maxSize;
列表=新的T[maxSize];
for(int i=0;i
语法中缺少一对

//assignment operator
template <class T>
indexList<T> &indexList<T>::operator=(const indexList &rhs)
{
    // ...
}
//赋值运算符
样板
索引列表和索引列表::运算符=(常量索引列表和rhs)
{
// ...
}

此外,与所有模板函数一样,此定义可能也应该在头文件中定义。

哪一行指示了错误?CPP的第三行不是在//assignment Operatories下定义的,而是注意需要在哪里使用
索引列表
,而不仅仅是
索引列表
//assignment operator
template <class T>
indexList<T> &indexList<T>::operator=(const indexList &rhs)
{
    // ...
}