C++问题。关于类的容器和实例

C++问题。关于类的容器和实例,c++,memory,pointers,stl,containers,C++,Memory,Pointers,Stl,Containers,是我干的。有个错误。我该怎么修 谢谢你 aset是一组a,而不是指向a的指针。因此 A* a = new A(x,y); set<A> aset; aSet.insert(a); 但不要认为后者有太多意义。您试图在集合中插入指向a的指针,但集合被声明为直接使用as 您必须更改集合以存储指针: aset.insert(*a); 或创建实例,而不是指向实例的指针: A* a = new A(x,y); set<A*> aset; aSet.insert(a); 请提供

是我干的。有个错误。我该怎么修


谢谢你

aset是一组a,而不是指向a的指针。因此

A* a = new A(x,y);
set<A> aset;
aSet.insert(a);

但不要认为后者有太多意义。

您试图在集合中插入指向a的指针,但集合被声明为直接使用as

您必须更改集合以存储指针:

aset.insert(*a);
或创建实例,而不是指向实例的指针:

A* a = new A(x,y);
set<A*> aset;
aSet.insert(a); 

请提供更多类似于上下文的错误消息,如果你真的发布了准确的错误消息,它可能会帮助人们知道如何开始响应。一个错误可能是任何东西,从编译器吐出一条错误信息到电气公司的盖伊,他砰地敲门,愤怒地坚持我停止程序,因为它正在耗尽电网。对不起,我的错。我下次做,这次做。用相关细节编辑你的帖子。FWIW,我认为前者没有太多意义。指针集合是一个高级的主题,它们为您提供了一个全新的领域,让您可以找到错误的方法。首先,您的集合将按照对象的地址而不是对象的地址进行排序和消除重复
A* a = new A(x,y);
set<A*> aset;
aSet.insert(a); 
A a = A(x,y);
set<A> aset;
aSet.insert(a);