我尝试从对象类中打印值,但是我无法正确访问指针中存储的信息。下面我定义了一个简单的结构。
编译后出现错误:
与'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
正确地取消了指针的引用。
答案 0 :(得分:1)
标准库不支持vector
的直接iostream输出。但是您可以轻松定义这样的操作。只需循环即可。
答案 1 :(得分:0)
std::cout
无法处理原始向量,必须将其转换为可以首先处理的数组。您可以使用vector
的{{1}}方法
示例:
.data()