指向的打印对象

时间:2018-09-27 02:01:17

标签: c++ struct function-pointers

我尝试从对象类中打印值,但是我无法正确访问指针中存储的信息。下面我定义了一个简单的结构。

编译后出现错误:

  

与'operator <<'不匹配(操作数类型为'std :: ostream {aka std :: basic_ostream }'和'std :: vector ')

     

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

pip install requests

我在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正确地取消了指针的引用。

2 个答案:

答案 0 :(得分:1)

标准库不支持vector的直接iostream输出。但是您可以轻松定义这样的操作。只需循环即可。

答案 1 :(得分:0)

std::cout无法处理原始向量,必须将其转换为可以首先处理的数组。您可以使用vector的{​​{1}}方法

示例:

.data()