这个问题已经在这里有了答案:




9年前关闭。






你好

我有以下代码...

// Header file
  struct dataRecord{
     size_t id;
     char name[gcNameLength];
  };

  void operator=(dataRecord &adr, const dataRecord &bdr);

gcc在编译时如何给我以下错误。
error: ‘void operator=(dataRecord&, const dataRecord&)’ must be a nonstatic member function

谢谢您的帮助。

最佳答案

您需要在=本身上重载struct dataRecord操作。

就像是:

struct dataRecord{
   size_t id;
   char name[gcNameLength];
   dataRecord& operator= (const dataRecord&) {
       // write overload code here
   }
};

07-24 09:46