2013-07-09 23 views

回答

0

根據文檔,你不知道。 cPacket是專門用於表示網絡消息的派生類cMessage

您可能必須更改代碼才能使用cPacket s代替。

當然,如果你已經在這個時尚cPacket分配空間:

cMessage* message = new cPacket; 

然後你就可以在法律上投下來是這樣的:dynamic_cast<cPacket*>(message)

+0

現在使用的「源」,這是生成cMessages ...但大多數模塊,如tokenbucket米,分類器,流量調節器接受cPackets,所以我面臨的問題在這裏...你知道這樣的來源,可以生成cpackets而不是CMessage? – user1959275

+0

不幸的是,我從來沒有使用這個API,所以我不能幫你:/ –

+0

先生我仍然在運行的問題..我有一個源,一個xyz組件(它只接受數據包)和一個接收器我用這個代碼'void computer :: initialize(){if(strcmp(「source」,getName())== 0){cMessage * msg = new cMessage(「checkMsg」);發送(msg,「out」); }} void computer :: handleMessage(cMessage * msg){send(msg,「out」); }'當我嘗試模擬這個時,它說xyz組件無法將cMessage轉換爲cPacket.I嘗試了您的建議。但仍然存在一些問題。請問你能爲此提出一些建議。如何在此處進行類型轉換? – user1959275