C++ C++;将变量传递给函数会更改从变量中读取的内容
在我的实际代码中,我在场景图上调用get_type(),然后立即跳入遍历节点()并在场景图的本地版本上再次调用它,就像我在这里写的那样。在我键入问题时意识到了答案 我必须通过引用传递向量,如下所示:C++ C++;将变量传递给函数会更改从变量中读取的内容,c++,C++,在我的实际代码中,我在场景图上调用get_type(),然后立即跳入遍历节点()并在场景图的本地版本上再次调用它,就像我在这里写的那样。在我键入问题时意识到了答案 我必须通过引用传递向量,如下所示: Type: type_first Type: unknown_type static void遍历节点(向量&){ 我相信这是因为编译器试图复制向量,但它不知道如何复制,因为node是一个自定义结构/类,我还没有为它定义赋值运算符。你的向量是指针向量。复制它会复制指针。你的解释毫无意义。你的代码
Type: type_first
Type: unknown_type
static void遍历节点(向量&){
我相信这是因为编译器试图复制向量,但它不知道如何复制,因为node是一个自定义结构/类,我还没有为它定义赋值运算符。你的向量是指针向量。复制它会复制指针。你的解释毫无意义。你的代码中可能有一个错误仍然需要修复,例如,可能向量包含指向堆栈的悬空指针。
Type: type_first
Type: unknown_type
static void traverse_nodes (vector<Node*>&) {