Распечатать объект, на который указывает - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь распечатать значения из моего класса объектов, но не могу правильно получить доступ к информации, хранящейся в указателе.Ниже я определил простую структуру.

При компиляции я получаю ошибку:

нет соответствия для оператора << (типы операндов: 'std :: ostream {aka)std :: basic_ostream <char>} 'и' std :: vector ')

void PrintNode (Node * node) {cout << node-> key << endl;} </p>

struct Node
{
    vector<int> key;
    int parent; 
    Node(vector<int> x, int y){ key = x; parent = y; }
    void PrintNode(Node* node) { cout << node->key << endl; }
};

Я вызываю мой PrintNode в моей BFS функции:

void BFS( vector<int> permutation, int n ) {
    vector<Node*>Pointers;
    queue<Node*> Queue;
    Node* start = new Node(permutation, -1);
    Node::PrintNode( start );
    Pointers.push_back( start );
}

Я не понимаю, почему я не могу cout целое числовектор хранится в .key объекта узла.Я считаю, что я правильно разыменую указатель с помощью node->key.

1 Ответ

0 голосов
/ 27 сентября 2018

Стандартная библиотека не поддерживает прямой вывод iostreams vector.Но вы можете легко определить такую ​​операцию.Просто сделай это с помощью петли.

...