最近,我跑過一些代碼,看起來像這樣:分配一個非指針指針? (?子類在C++中的指針類型)
Foo<SomeType> member;
...
void SomeFunc(Bar* bar);
...
SomeFunc(member);
,我發現它非常混亂。有人能解釋這裏究竟發生了什麼嗎?
member
Bar*
有效嗎?
Foo<SomeType>
不知何故子類指針類型?
這是模板的某些屬性?如果member
是Foo
而不是Foo<SomeType>
,還有可能嗎?
您需要提供'Foo'的定義以獲得準確答案。也許它有一個隱式轉換。 –
Downvoter
你確定沒有'void SomeFunc(Foo foo);'某處? –
YSC