In a program that I'm working on, I'm having problems with the 'save' and 'load' functions.

Save:
Code:
int save()
{
    string filename;
    do
    {
       cout<<"Save game?\n";
       getline( cin, choice);
    } while (tolower(choice[0]) != 'y' && tolower(choice[0]) != 'n');
    if (tolower(choice[0] == 'y'))
    {
                      cout<<"Save filename?\n";
                      getline( cin, filename);
                      filename=filename+".rpg";
                      std::ofstream output(filename.c_str());
                      output <<player.startpoint<<' '<<player.name<<' '<<player.hp<<' '<<player.weapondesig<<' '<<player.attack<<' '<<player.maxhp<<' '<<player.gold<<' '<<player.frags<<' '<<player.defense<<' '<<bow<<' '<<handgrenade<<' '<<broom<<' '<<rope<<' '<<grapple<<' '<<stairboots<<' '<<goldplate<<' '<<goldgoblet<<' '<<goldbowl<<' '<<goldflatware<<' '<<rockbuster<<' '<<bluessword<<' '<<smsand<<' '<<lgsand<<' '<<bacon<<' '<<rbeef<<' '<<bbqpork<<' '<<bbqbeef<<' '<<chicken<<' '<<steak<<' '<<apple<<' '<<pear<<' '<<pineapple<<' '<<peach<<' '<<papaya<<' '<<cheese<<' '<<candy<<' '<<player.beaten<<' '<<broomequip<<' '<<rockbusterequip<<' '<<bluesswordequip<<' '<<bowgive<<' '<<player.taken<<' '<<computer<<' '<<motherboard<<' '<<floppydrive<<' '<<harddisk<<' '<<compucase<<' '<<os<<' '<<rps<<' '<<calculate<<std::endl;
                      output.close();
                      cout<<"Game Saved.\n";
    }
    else
    {
    }
    system("pause");
    invalid=true;
}
Error is as follows in title of message.
Load: (with only significant part of code)
Code:
int load()
{
    string filename;
    cout<<"Load Filename?\n";
    cin.ignore();
    getline( cin, filename);
    filename=filename+".rpg";
    std::ifstream input(filename.c_str());
    input >>player.startpoint>>player.name>>player.hp>>player.weapondesig>>player.attack>>player.maxhp>>player.gold>>player.frags>>>>player.defense>>bow>>handgrenade>>broom>>rope>>grapple>>stairboots>>goldplate>>goldgoblet>>goldbowl>>goldflatware>>rockbuster>>bluessword>>smsand>>lgsand>>bacon>>rbeef>>bbqpork>>bbqbeef>>chicken>>steak>>apple>>pear>>pineapple>>peach>>papaya>>cheese>>candy>>player.beaten>>broomequip>>rockbusterequip>>bluesswordequip>>bowgive>>player.taken>>computer>>motherboard>>floppydrive>>harddisk>>compucase>>os>>rps>>calculate;
    input.close();
    ...
}
Error:
In function 'int load()':
Expected primary-expression before '>>' token
Other programs with similar load-save code have not had this problem. All variables in the code are valid.

This attempted to compile in Dev-C++ on a system running Windows XP SP2.