要解决“变量没有改变?通过向量的函数进行调用。”的问题,可以使用传值和传引用的方式来调用向量的函数,并确保在函数中对变量进行修改。
以下是一个示例代码:
#include
#include
// 使用传值方式调用函数
void modifyVectorByValue(std::vector v) {
v.push_back(4);
}
// 使用传引用方式调用函数
void modifyVectorByReference(std::vector& v) {
v.push_back(4);
}
int main() {
std::vector myVector = {1, 2, 3};
// 使用传值方式调用函数,不会改变原有向量
modifyVectorByValue(myVector);
std::cout << "Vector after modifyVectorByValue function: ";
for (int num : myVector) {
std::cout << num << " ";
}
std::cout << std::endl;
// 使用传引用方式调用函数,会改变原有向量
modifyVectorByReference(myVector);
std::cout << "Vector after modifyVectorByReference function: ";
for (int num : myVector) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
运行以上代码,输出结果为:
Vector after modifyVectorByValue function: 1 2 3
Vector after modifyVectorByReference function: 1 2 3 4
可以看到,当使用传值方式调用函数时,原有向量不会被修改。而当使用传引用方式调用函数时,原有向量会被修改。
上一篇:变量没有改变。错误出在哪里?
下一篇:变量没有更新