A* a = new A(x,y);
set<A> aset;
aSet.insert(a);
我这样做了。出了错误。我该如何解决?
谢谢!!!
答案 0 :(得分:7)
aset是一组A,而不是指向A的指针。所以
set<A*> aset;
或
aset.insert(*a);
但不要认为后者太有意义了。
答案 1 :(得分:3)
您正在尝试将A
的指针插入到您的集合中,但该集合被声明为直接使用A
。
您必须更改您的设置以存储指针:
A* a = new A(x,y);
set<A*> aset;
aSet.insert(a);
或创建实例,而不是指向实例的指针:
A a = A(x,y);
set<A> aset;
aSet.insert(a);