我試圖創建使用操作符[]像如何把多個運營商[]
MyClass[x][y]
一類,它應該基於什麼我是內定義的函數調用返回一個值類。我至今是:
MyClass.h
class MyClass{
public:
// return one value of the matrix
friend double operator[][] (const int x, const int y);
}
我甚至不認爲我對這個語法是正確的,我怎麼能寫在MyClass.cpp該功能來確定哪些價值應該返回?
就像是:
MyClass::friend double operator[][] (const int x, const int y)
{
// insert code here
}
嘗試過,但它口口聲聲說的錯誤。我相信這是一個爛攤子在那裏...
非常感謝,
您不能聲明'運營商[] []。你需要兩個重載'operator []'的類才能達到這個效果。 –
您只能重載現有的操作符,而C++沒有'[] []'操作符。 –
您對'friend'的使用也有問題。像你一樣聲明一個函數'friend'意味着它是一個非成員函數,但是你嘗試使用'friend'關鍵字在語法上非法的方式將其定義爲一個成員函數。 –