我想在列表中插入一些元素。
我真正想做的是使用“insert3”,因为它保证指针不会改变,数据也不会改变。
但是“insert2”和“insert3”给出了以下错误,“insert1”没有:
class A
{
public:
std::list<int*> l;
void insert(int* const a)
{
l.push_back(a); //works
}
void insert2(const int* a)
{
l.push_back(a);
/*
no instance of overloaded function "std::list<_Ty, _Ax>::push_back [with _Ty=int *, _Ax=std::allocator<int *>]"
matches the argument list
*/
}
void insert3(const int* const a)
{
l.push_back(a);
}
};
谢谢你的帮助!