Refer to post #11 for the hint:
Code:
struct Weapon
{
    string name;
    int dice;
    int str;
    Weapon(string n = "Weapon", int d = 1, int s = 0) : name(n), dice(d), str(s) {}
};
 
struct Player
{
    string name;
    Weapon LWeapon;
    Weapon RWeapon;
    Player(string n, const Weapon& lw, const Weapon& rw) : name(n), LWeapon(lw), RWeapon(rw) {}
};
 
int main()
{
    Weapon w1("Gun 1", 1, 10);
    Weapon w2("Gun 2", 1, 10);
    Weapon w3("Gun 3", 1, 10);
    Weapon w4("Gun 4", 1, 10);
 
    Player A("Joe", w1, w2);
    Player B("Jim", w3, w4);
 
    cout << A.name << " " << A.LWeapon.name << " " << A.RWeapon.name << endl;
    cout << B.name << " " << B.LWeapon.name << " " << B.RWeapon.name << endl;
 
    return 0;
}