我得到的編譯器錯誤操作符重載<<錯誤
no match for 'operator<<' in 'std::cout << VertexPriority(2, 4u)'
在提到這個操作符重載主類,但我不能在那裏已瞭解的誤差。
這裏是運算符重載行,我在類定義中實現了它。
std::ostream& operator<<(std::ostream& out) const { return out << "Vertex: " << this->vertex << ", Priority: " << this->priority; }
頂點和優先級是整數和無符號整數。
在主類我想這樣做:
std::cout << VertexPriority(2, 3) << std::endl;
你沒有定義插入運營商那樣,除非你打算插入一個ostream到你的對象(我都可以,但是擔保是*不*)。請參閱常見運算符重載部分[在此答案](http://stackoverflow.com/questions/4421706/operator-overloading-in-c/4421719#4421719)。 – WhozCraig
我應該如何定義它? – giacomotb
請參閱我之前的評論鏈接的文章[**或點擊這裏**](http://stackoverflow.com/questions/4421706/operator-overloading-in-c/4421719#4421719) – WhozCraig