You can't put statements (other than declarations) outside functions like that. Put line 16 in a function or make sure to initialize the data members when you define sword_rusted on line 15.
In addition to what others have said, beware of doing
sword_rusted.name = "";
You're not creating your own storage for that string -- you're just setting the pointer to point to the area of memory containing the string literal for an empty string. This may have unintended consequences later, if you try and do any manipulation of the string.