我有此類: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