错误C2533:构造函数不允许返回类型

时间:2015-10-20 12:11:52

标签: c++ templates

为什么会显示错误?

为什么我不能使用返回类型?

这是存在错误的代码的一部分

template <typename T>
class Matrix
{ 
public:
   Matrix(int x = default_x, int y = default_y);
   ~Matrix();
   Matrix<T> Matrix(const Matrix<T>& src);
   int get_x_size() const { return x_size; }
   int get_y_size() const { return y_size; }
   T get_element(int x, int y) const;
   void set_element(int x, int y, T elem);
   // constant elements
  static const int default_x = 3;
  static const int default_y = 3;
protected:
   T** cells;
   int x_size;
   int y_size;
};

1 个答案:

答案 0 :(得分:4)

Matrix<T> Matrix(const Matrix<T>& src);

错误告诉你出了什么问题。构造函数可能没有返回类型,只需删除Matrix<T>返回类型。

编辑:关于为什么您不能使用返回类型,例如,您可以查看here