I am trying to make a tic-tac-toe game. I made this function which supposed to update the board values (insert 'X' or 'O') but the struct simply doesn't update, it shows that the values stay the same as initialized.
#include <iostream>
struct Board {//initializes a struct
    char A1 = ' ';
    char A2 = ' ';
    char A3 = ' ';
    char B1 = ' ';
    char B2 = ' ';
    char B3 = ' ';
    char C1 = ' ';
    char C2 = ' ';
    char C3 = ' ';
};
struct Board InputSignInStruct(char num, char letter, struct Board b,char sign) {//a function which is supposed to update values in the struct
    if (letter == 'A')
    {
        if (num == '1')
            b.A1 = sign;
        if (num == '2')
            b.A2 = sign;
        if (num == '3')
            b.A3 = sign;
    }
    if (letter == 'B')
    {
        if (num == '1')
            b.B1 = sign;
        if (num == '2')
            b.B2 = sign;
        if (num == '3')
            b.B3 = sign;
    }
    if (letter == 'C')
    {
        if (num == '1')
            b.C1 = sign;
        if (num == '2')
            b.C2 = sign;
        if (num == '3')
            b.C3 = sign;
    }
    return b;
}
int main() {
    struct Board b;
    char letter,num;
    std::cin>>letter>>num;
    char sign;
    std::cin>>sign;
    b = InputSignInStruct(letter, num, b, 'X');//should return the updated struct but it doesent update
}
 
     
     
    