[英]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.