0
我有以下繼承結構類型橡皮擦:重複繼承和的static_cast
Holder
/ | \
| | |
Holder_A_1 Holder_B_1 Holder_C_1
| | ...
Holder_A_2 Holder_B_2
... ...
| |
Holder_A_base Holder_B_base Holder_C_base
| | ...
Holder_A_base_2 Holder_B_base_2
... ...
| | |
Anchor Anchor Anchor
(錨基類上重複目的)
一旦對象構造我構造一個Holder對象和將其轉換爲Anchor *進行存儲和刪除。演員是通過Holder_A_base*
做了歧義:static_cast<Holder_A_base*>(static_cast<Anchor*>(this))
我的問題是:這是合法的static_cast
從Anchor*
(構成如上所述),以Holder_B_base*
如果我知道一個事實,即從這兩刪除導出Holder
對象類型?