必须是非静态成员函数

问题描述 投票:0回答:1

试图编译一些代码,我不断收到一条错误,上面写着“'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);
c++ class object operator-overloading
1个回答
1
投票

声明应该是:

myString& operator=(const myString& string);

而定义:

myString& myString::operator=(const myString& string)
© www.soinside.com 2019 - 2024. All rights reserved.