#include <iostream>
using namespace std;
struct Data {
int age;
string name;
};
Data func(Data data) {
data.age = 100;
return data;
}
int main() {
Data data1;
func(data1);
cout << "data1.age=" << data1.age << endl;
getchar();
return 0;
using namespace std;
struct Data {
int age;
string name;
};
Data func(Data data) {
data.age = 100;
return data;
}
int main() {
Data data1;
func(data1);
cout << "data1.age=" << data1.age << endl;
getchar();
return 0;
}
对于上面的结果,第一次咋的一看,很简单,结果是data1.age=100,后来发现居然不是,结果是个乱码值。
后来才明白这个结构体传参数里面是临时的变量,需要传结构体的地址进去,如:Data func(Data &data);
或者以一个指向结构体指针的方式传出去:bool func(Data *pData);所以以后传参数要注意了