我在我的C++應用程序中使用了兩個類。代碼如下:將項目添加到C++列表中
class MyMessageBox
{
public:
void sendMessage(Message *msg, User *recvr);
Message receiveMessage();
list<Message> dataMessageList;
};
class User
{
public:
MyMessageBox *dataMsgBox;
};
msg是指向Message類的派生類對象的指針。我已經實現了函數SendMessage如下:
void MyMessageBox::sendMessage(Message *msg, User *recvr)
{
Message &msgRef = *msg;
recvr->dataMsgBox->dataMessageList.push_back(msgRef);
}
當我編譯這段代碼,我得到以下錯誤: 未定義的參考`虛表的消息」。請幫我解決這個問題。
謝謝, Rakesh。
你使用什麼編譯器? – Yacoby 2010-01-26 11:47:26
我正在使用GCC編譯器gcc 4 – 2010-01-26 11:48:00
Message類的實現是什麼?另外,由於您使用的是std :: list,所以一旦您將它們push_back在列表中,派生的Message對象將被切片爲純文本消息對象。改爲使用列表。 –
TheFogger
2010-01-26 11:50:51