I keep getting this error on a sample that a c++ book provides.
"
**error C2660: 'std::vector<_Ty>::empty' : function does not take 1 arguments
1> with
1> [
1> _Ty=std::string
1> ** ]
"
I have some suspicious what can be causing the error but I am not sure.
the code is:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> inventory;
inventory.push_back("sword");
inventory.push_back("armor");
inventory.push_back("shield");
cout << "You have " << inventory.size() << " items.\n";
cout << "\nYour items:\n";
for (unsigned int i = 0; i < inventory.size(); ++i)
{
cout << inventory[i] << endl;
}
cout << "\nYou trade your sword for a battle axe.";
inventory[0] = "battle axe";
cout << "\nYour items:\n";
for (unsigned int i = 0; i < inventory.size(); ++i)
{
cout << inventory[i] << endl;
}
cout << "\nThe item name '" << inventory[0] << "' has ";
cout << inventory[0].size() << " letters in it.\n";
cout << "\nYour shield is destroyed in a fierce battle.";
inventory.pop_back();
cout << "\nYour items:\n";
for (unsigned int i = 0; i < inventory.size(); ++i)
{
cout << inventory[i] << endl;
}
cout << "\nYou were robbed of all of your possessions by a thief.";
inventory.clear();
if (inventory.empty())
{
cout << "\nYou have nothing.\n";
}
else
{
cout << "\nYou have at least one item.\n";
}
return 0;
}