[問題] 運算子=的多載
程式碼如下:
#include <iostream>
using namespace std;
class CWin
{
private:
char id,*title;
public:
CWin(char i='D',char *text="Default window"):id(i)
{
title=new char[50];
strcpy(title,text);
}
void set_data(char i,char *text)
{
id=i;
strcpy(title,text);
}
void show(void)
{
cout << "Window " << id << ": " << title << endl;
}
~CWin()
{
delete [] title;
}
CWin(const CWin &win)
{
id=win.id;
strcpy(title,win.title);
}
void copy_id(CWin &win)
{
id=win.id;
}
void copy_title(CWin &win)
{
strcpy(this->title,win.title);
}
};
void operator=(CWin &win1,CWin &win2)
{
win1.copy_id(win2);
win1.copy_title(win2);
}
int main(void)
{
CWin win1('A',"Main window");
CWin win2;
win1.show();
win2.show();
win1=win2;
win1.show();
win2.show();
return 0;
}
我把operator=()函數寫成一般函數
但是出現錯誤訊息入下:
error C2801: 'operator =' must be a <Unknown> member
請問是哪裡有問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.69.46.188
推
04/23 15:19, , 1F
04/23 15:19, 1F
→
04/23 15:30, , 2F
04/23 15:30, 2F
→
04/23 15:48, , 3F
04/23 15:48, 3F
推
04/23 16:00, , 4F
04/23 16:00, 4F
推
04/23 19:01, , 5F
04/23 19:01, 5F
→
04/23 23:36, , 6F
04/23 23:36, 6F
→
04/23 23:37, , 7F
04/23 23:37, 7F
→
04/23 23:38, , 8F
04/23 23:38, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章