我有這樣的成員函數爲什麼我的運算符重載不能編譯?
std::ostream& operator<<(std::ostream &stream) const
在
Histogram<T>
。
然後在另一個類我有
static void write(const RGBHistogram<T> &hist, Output &output)
{
std::cout << hist.redHist << std::endl;
}
redHist,greenHist和blueHist是直方圖。
爲什麼它會抱怨沒有操作員找到需要類型直方圖的右側操作數的操作符?
它必須是非成員函數。 'cout << hist'變成'operator <<(cout,hist)',它與你的成員函數不匹配。 – BoBTFish