我有一个A类声明为:
class A {
public:
vector<int> vec;
};
运行以下代码:
const A *a = new A();
sort(a->vec.begin(), a->vec.end());
给我错误:
algorithm: No matching call to swap()
在Xcode中。
关于为什么发生这种情况的任何线索?
const A *a
表示“指向的指针const A
,这意味着a
不能通过修改对象a
。sort
修改传递给它的迭代范围的元素。由于这些元素由指向的对象拥有a
,因此不能通过修改a
。
因此,您不能调用对vector进行排序a->vec
。您需要找到其他方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句