gpt4 book ai didi

c++ - 如何使用函数更改所有结构成员参数?

转载 作者:行者123 更新时间:2023-12-02 09:56:29 25 4
gpt4 key购买 nike

在我的程序中(这只是一个简短的版本),我有一个具有9个成员(飞机)的结构,这些成员都具有相同的变量。

struct FlightP {string FLID; int altitude; int heading; flightMode; } ArrP_1, ArrP_2;//1-9 etc

例如,如果我想更改成员ArrP_1和ArrP_2的高度,我会这样做:
int main(){
ArrP_1.altitude = 10000;
ArrP_2.altitude = 10000;
}

但是有没有办法使用这样的功能:
void ALtChange(FlightP flight_p){
flight_p.altitude = 12000;
}

int main(){
ALtChange(ArrP_1);
ALtChange(ArrP_2);
//If I have to change multiple parameters in multiple members at the same time this function would make things easier.
}

为什么这个函数什么都不做。该功能是否错误?或者我应该怎么做?

最佳答案

就像@Jonnhy Mopp所说的那样,通过引用传递它,如下所示:

#include <iostream>
#include <string>

using namespace std;

struct FlightP {string FLID; int altitude; int heading; int flightMode; } ArrP_1, ArrP_2;//1

void ALtChange(FlightP& flight_p) { flight_p.altitude = 12000; }
void print_altitude(const FlightP& flight) { std::cout << flight.altitude << std::endl; }

int main(){
ArrP_1.altitude = 10000;
ArrP_2.altitude = 10000;

ALtChange(ArrP_1);
ALtChange(ArrP_2);

print_altitude(ArrP_1);
print_altitude(ArrP_2);
}

关于c++ - 如何使用函数更改所有结构成员参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com