我有這樣轉換參考共享指針
void Element::setNodes(const BaseClass& input0, const BaseClass& input1)
這一個功能是通過使派生類調用。
setInputNodes(DerivedClass1, DerivedClass2)
我遇到的麻煩是我想將節點存儲在向量中。我有這個
std::vector<std::shared_ptr<BaseClass>> m_inputNode;
和功能
void Element::setNodes(const BaseClass& input0, const BaseClass& input1)
{
m_inputNode.push_back(input0);
m_inputNode.push_back(input1);
}
這不工作,我必須把它存儲爲指針,否則我體驗對象切片。我需要更改API並傳遞指針嗎?我想盡可能少地改變。
是否要創建對象的副本或將參考/指針存儲到原始對象? –
我想要一個指向原始的指針/引用。 – user1876942