-1
我已經創建了該類的一個實例,但是我無法將該船的名稱push_back到該向量。無法push_back向量
if (rows->_rows.size() != rows->rows_Size) { rows->_rows.push_back (ship->name); }
我收到以下錯誤。
錯誤1錯誤C2664: '無效的std ::矢量< _Ty> ::的push_back(泊位& &)':不能從 '的std :: string' 轉換參數1至 '泊位& &'
6智能感知:沒有重載函數的實例「std :: vector < _Ty,_Alloc> :: push_back [with _Ty = Berths,_Alloc = std :: allocator]」與參數列表 參數類型爲:(std :: string) 對象類型是:std :: vector>
我試圖添加的類的代碼該數據是:
#pragma once class Berths; #include "Berths.h" #include "Ship.h" #include <iostream> #include <vector> class Rows { public: Rows(void); ~Rows(void); std::vector<Berths> _rows; int rows_Size; bool dock(Ship ship); bool undock(Ship ship); };
Rows::Rows(void)
{
rows_Size = 10;
}
任何想法是什麼原因造成的?
由於
'rows - > _ rows.size'應該是'rows - > _ rows.size()'。你忘了實際調用該函數。 – 2015-04-06 01:02:07
哦,哇,這是一個漫長的一天><我仍然可以留下這個 錯誤錯誤C2664:'void std :: vector <_Ty> :: push_back(Berths &&)':無法將參數1從'std: :string'to'泊位&&' – PapaSmurf 2015-04-06 01:04:01
嗯,這很明顯,不是嗎?你有一個X的向量,並且你試圖推動Y進入它,Y與X不同,顯然不能轉換爲X. – 2015-04-06 01:05:33