0
static void traverse_nodes (vector<Node*> sg) {
cout << "Type: " << sg[0].get_type() << "\n";
}
int main() {
vector<Node*> scene_graph;
scene_graph = {...};
cout << "Type: " << scene_graph[0].get_type() << "\n";
traverse_nodes(scene_graph);
}
回报阅读:C++传递变量的函数变化取之于可变
Type: type_first
Type: unknown_type
在我实际的代码我呼吁scene_graph get_type(),然后立即跳进traverse_nodes()和呼叫它再次在我写在这里的scene_graph的本地版本上。
你的矢量是指针的向量。复制它复制指针。你的解释毫无意义。代码中的其他地方可能还有一个错误需要修复,例如也许你的向量包含指向堆栈的悬挂指针。 –