我有一個名爲「obj」的類和另一個名爲「aggregate」的類。類的鑄造(向上)
第二個來自第一個。
類「obj」只包含一個整數。 「聚合」沒有更多(只有更多的「方法」)。
class obj{
public:
int t;
}
我有一個返回「目標文件」
obj pop();
的功能,我需要它的結果分配給類「聚集」的變量。
aggregate a; a = pop();
我嘗試做它喜歡:
a=static_cast<aggregate>(pop());
a=dynamic_cast<aggregate>(pop());
因爲基本上在棧上傳遞結構的值(所以基本上是一個整數),我不明白爲什麼我應該做的:
a=*((aggregate*)(&pop()));
因爲C++中的多態僅適用於指針和引用,不是嗎? – Gluttton
完成。最小。代表。例。 –
你的意思是我必須添加我的演員定義才能覆蓋該限制?例如:#define value_cast(type,value)*((type *)(&value))。別無退路 ? –