以下のような関数に構造体を渡したい (input(int age, string s) のように単一のメンバーを関数に渡すことができることはわかっているが、input(student s) のように構造体全体を渡したい)
#include <iostream>
using namespace std;
struct student
{
string name;
int age;
};
void input(student s)
{
cout << "Enter Name: ";
cin >> s.name;
cout << "Enter age: ";
cin >> s.age;
}
int main(int argc, char *argv[]) {
struct student s1;
input(s1);
cout << "Name is: " << s1.name << endl;
cout << "Age is: " << s1.age << endl;
}
上記のコードは正しい出力を生成しません。上記のコードをポインターで使用して、期待される出力を取得したいと考えています。
テスト:名前を「abc」に入力し、年齢を10にすると、メインに印刷されません