[英]C++ std::list of pointer to a struct
我相信這是一個非常簡單的問題,但我很困惑。
我做錯了什么?:
std::list<curvesdata *> curvelist;
curvesdata * curve = new curvesdata;
curvelist.pop_back(curve);
---> no matching function for call to 'std::list<curvesdata*>::pop_back(curvesdata*&)
似乎我的指針已轉換為指針引用...? 為什么呢?
謝謝。
std::list::pop_back()
不接受參數,而是從列表中刪除最后一個元素。 看起來像您要添加,因此請使用push_back()
。
curvelist.push_back(curve);
編輯:現在讓我談談clang ++及其更好的錯誤消息:
#include <list>
int main() {
std::list<int> x;
x.pop_back(1);
}
$ clang++ example.cxx
example.cxx:6:13: error: too many arguments to function call, expected 0, have 1
x.pop_back(1);
~~~~~~~~~~ ^
僅供參考,錯誤消息告訴您確切的問題。 沒有名為pop_back
成員函數帶有參數。
您可能正在考慮push_back
: http : push_back
pop_back()
不帶參數。 沒有與您要執行的操作匹配的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.