You have to declare the item before you reference it. I'm not sure about the rest of your code, but you should have something like this:
sInven_Set MySword; ........ ........ whatever code..... //call the "addweapon" function AddWeapon(&MySword);//this is a reference for "MySword" which is of data type "sInven_Set"
When you actually want to have a variable that holds info, you will have to initialize it. And then if you want to send it a pointer to it within a function, you use "&" to reference it. Your function declaration will look the same as you have it above, but when you call it you will use an actual initialized object's reference.
Please give more code if I'm in error about how you are calling the function......