C++ 全局变量作为函数的参数提供时未更新
我正在声明一个全局变量,C++ 全局变量作为函数的参数提供时未更新,c++,visual-studio,global-variables,C++,Visual Studio,Global Variables,我正在声明一个全局变量,first\u子句: vector<vector<int>> first_clauses; //clauses for first iteartion cnf_transformation(gates, first_clauses); 我想将一些必需的数据推送到全局变量first_子句中。因此,我调用cnf_transformation,我的第二个参数是first_子句: vector<vector<int>> firs
first\u子句
:
vector<vector<int>> first_clauses; //clauses for first iteartion
cnf_transformation(gates, first_clauses);
我想将一些必需的数据推送到全局变量first_子句中。因此,我调用cnf_transformation
,我的第二个参数是first_子句
:
vector<vector<int>> first_clauses; //clauses for first iteartion
cnf_transformation(gates, first_clauses);
现在,当我在我的函数中打印
first_子句
数据结构时,它实际上是在存储数据,但从函数中出来后,我的全局变量first_子句
没有更新。我还在学习C++。请指导我。您是否打算通过引用方式传递第一条条款
?请提供文本,而不是图像。您是指某个神秘的全局变量first_子句
还是通过值传递的参数first_子句
,因此您只需推送到它的副本,而原始值保持不变?您的一次编辑显示它是通过引用传递的,请澄清。@churill我声明的全局变量没有更新,我也通过阅读以下文章尝试了通过引用传递:。但是通过引用传递也不起作用。不,您没有全局变量first_子句
(与您的问题相反,末尾有s)是一个函数参数,没有全局变量。您需要将其作为引用传递以修改它。