Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;将变量传递给函数会更改从变量中读取的内容_C++ - Fatal编程技术网

C++ C++;将变量传递给函数会更改从变量中读取的内容

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

在我的实际代码中,我在场景图上调用get_type(),然后立即跳入遍历节点()并在场景图的本地版本上再次调用它,就像我在这里写的那样。

在我键入问题时意识到了答案

我必须通过引用传递向量,如下所示:

Type: type_first
Type: unknown_type
static void遍历节点(向量&){

我相信这是因为编译器试图复制向量,但它不知道如何复制,因为node是一个自定义结构/类,我还没有为它定义赋值运算符。

你的向量是指针向量。复制它会复制指针。你的解释毫无意义。你的代码中可能有一个错误仍然需要修复,例如,可能向量包含指向堆栈的悬空指针。
Type: type_first
Type: unknown_type
static void traverse_nodes (vector<Node*>&) {