必须是非静态成员函数

时间:2017-01-26 06:01:29

标签: c++ class object operator-overloading

尝试编译一些代码并且我不断收到错误消息 “'myString& operator =(const myString&)'必须是非静态成员函数”

这是我的名单.cpp

myString& operator=(const myString& string)
  {
          if(this = &string)
                  return *this;

          data = new char[strlen(string.data)+1];

          strcpy(data, string.data);
        length = string.length;

          return *this;
  }

这是我的一些名单。

  9 class myString
 10 {
 11 private:
 12         char* data;
 13         int length;
 14
 15 public:
 16         myString();
 17         myString(char cString[]);
 18         myString(myString& cString);
 19         //desctructor
 20         myString operator=(const myString& string);
 21         myString operator+(const myString& string);

1 个答案:

答案 0 :(得分:1)

声明应该是:

myString& operator=(const myString& string);

定义:

myString& myString::operator=(const myString& string)