簡體   English   中英

指針向量作為模板參數

[英]Vector of pointers as a template argument

我正在執行此項目來管理銀行,並且正在嘗試實現代碼以編輯員工對象。

template <class val>
void Bank::updateVector(unsigned int ID, vector<val*> upVector, val* upValue)
{
  deleteByID(ID, upVector);
  upVector.push_back(upValue);
}

這是對函數的調用:

employee *new_employee= new employee(name,birthDate,address,postalCode, NIF,  BI,  phone,  salary,  post,  qualifications, id);
updateVector(id,employees,new_employee);

我收到未定義的參考錯誤:

undefined reference to `void Bank::updateVector<employee>(unsigned int, std::vector<employee*, std::allocator<employee*> >, employee*)'

為什么會這樣呢?

謝謝您的幫助

也許您已經做到了,但是要確保將其放在定義類的標頭中。

我對此不太確定,但我認為這是因為您將updateVector作為模板創建了,但是您沒有指定類類型

我很確定

updateVector <employee> (id, employees, new_employee);

對不起,如果我錯了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM