我有此类:C++分配内存一类
class myClass{
public:
myClass(string label);
~myClass();
string myget();
void myset(string label);
void myadd(class2 * edge);
private:
string label;
vector<class2 *> myList;
};
我想要写,其检查类型myClass的的对象的相等的函数:
bool operator== (myClass& l,myClass& r)
{
}
为了检查myList中载体对于这些对象,我想复制l和r,对副本的向量进行排序,并检查这些副本的排序向量是否相等。但我认为我没有制作l和r的副本。下面是我写为:
myClass x = new myClass("s1");
myClass y = new myClass("s2");
x = l;
y = r;
sort(x.myList.begin(),x.myList.end());
sort(y.myList.begin(),y.myList.end())
if(x == y)
return true;
else
return false;
该代码给出了这样的错误:错误:转换,从“myClass的*”非标量类型“MyClass的”要求。
我试着制作x和y指针,但它也没有工作。你能告诉我如何解决这个问题吗?
在此先感谢。
*“我尝试制作x和y指针,但它不起作用”*“不起作用”是什么意思? –
转换运算符应该接受'const&'。 – pmr
@DrewDormann 'myClass * x = new myClass(“s1”); myClass * y = new myClass(“s2”);' 这导致函数的其他部分出现另一个错误 – jason