, поэтому я пытаюсь перегрузить оператор << для своего класса, используя ключевое слово friend для доступа к приватным полям.
Код: </p>
//Edge.h
#pragma once
class Edge
{
private:
int startVertice;
int endVertice;
int weight;
public:
//cut
friend std::ostream& operator<< (std::ostream&, const Edge*);
};
//Edge.cpp
//cut
std::ostream& operator<< (std::ostream& out,const Edge *n) {
out << "Start: [" << n->startVertice << "] End: [" << n->endVertice << "] Weight: [" << n->weight << "]";
return out;
}
//cut
Однако IntelliSense сообщает мне, что member Edge::startVertice is inaccessible
. То же самое для endVertice
и weight
.
Где я допустил ошибку? : D
EDIT:
Ошибки компиляции (связаны с этим делом):
- синтаксическая ошибка, отсутствует ";" перед "&"
- ostream: «друг» не разрешен при объявлении данных
- отсутствует указатель типа (предполагается, что int)
- неожиданный токен перед ';'
- ostream не является членом std