는 I이 연산자 오버로딩이라 메인 클래스의 컴파일러 에러를조작 << 오류
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; }
정점 및 우선 순위는 정수이고 unsigner 정수입니다.
는 메인 클래스에서 나는이 일을하려고 해요 :std::cout << VertexPriority(2, 3) << std::endl;
당신은 그런 식으로 삽입 연산자를 정의하지 않습니다
자세한 도움말이 튜토리얼을 읽어 *아니*). 일반적인 연산자 오버로딩 [이 답변] (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