我最近在一個程序中聲明瞭使用指針,當我嘗試以下時,我得到了這個錯誤。向一個向量添加一個新創建的對象
stored_points.push_back(new Point(anchor_y,anchor_x,last_direction));
錯誤C2664: '無效的std ::矢量< _Ty> ::的push_back(_Ty & &)':無法從 '點*' 轉換參數1至 '點& &' 與[ _Ty =點 ] 原因:無法從「點*」到「點」 轉換沒有構造函數可採取源類型,或構造函數重載解析模棱兩可
據我瞭解,使用新給出了一個指針回傳,以及.push_back可以」但是,接受這一點,我不知道如何去解決這個問題。
這樣做的時候,會出現很多其他的錯誤,還有什麼我需要做的來解釋這個? – Behemyth 2012-07-09 02:44:44
你還有其他什麼錯誤? – wquist 2012-07-09 03:03:26
對於同一行,我收到相同的錯誤,並用此行「if(* stored_points.at(index).x == index_x_p && * stored_points.at(index).y == index_y_p){」i'm 「錯誤C2228:'.x'的左邊必須有class/struct/union 1> type是'Point *' 1>您是否打算使用' - >'?我的下一個響應將在十一個小時內完成,對於延遲提前抱歉。 – Behemyth 2012-07-09 03:08:05