C++ Pizza Order Program not sure why the errors are happening
<p>I'm new at programming so I'm not really sure what the problem is. The errors I keep getting are in the <code>AddTopping(string toppings)</code>. One is <code>illegal reference to non-static member PizzaOrder::toppings</code> . The other one is <code>'initializing' can not convert for " to std::string.</code></p>

<p>This is what I've got at the moment: </p>

<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class PizzaOrder
{
private:
   static const int MAX_SIZE=1000;
   int size;
   string toppings[MAX_SIZE];
   int num_toppings;
public:
   static const string toppings_offered [4];
   static const int DEFAULT_SIZE= 0;
   static const int DEFAULT_TOPPINGS=0;
   static const double topping_base_cost;
   static const double base_price;

   PizzaOrder ();
   PizzaOrder (int size);
   bool SetSize (int size);
   int GetSize () {return size;}
   static string AddTopping (string topping);
   static int AddTopping (int n);
   static double GetPrice ();
   static string StringizeSize ();
   static string GetToppings ();
   static void DisplayPizza();
};
const double PizzaOrder :: topping_base_cost= .5;
const double PizzaOrder :: base_price= 5;
const string PizzaOrder ::toppings_offered[4]={"olives","bell peppers","onions","pepperoni"};
int main ()
{
   PizzaOrder order;
   char pizza_size;
   int topping_choice;

   short array_size = sizeof(order.toppings_offered)/sizeof(order.toppings_offered[0]);



   cout &lt;&lt; "Would you like a size [S]small , [M]medium, [L]large pizza or [Q]quit?" &lt;&lt;endl;
   while ( pizza_size != 'Q' || pizza_size != 'q')
   {
      cin &gt;&gt; pizza_size;
      if( pizza_size == 'S' || pizza_size == 's')
         order.SetSize(0);
      if(pizza_size == 'M' || pizza_size == 'm')
         order.SetSize(1);
      if(pizza_size == 'L' || pizza_size == 'l')
         order.SetSize(2);
      while (topping_choice !=0)
      {
         cout &lt;&lt; "Current Pizza : " &lt;&lt; order.StringizeSize () &lt;&lt; order.GetToppings ();
         cout &lt;&lt;"Select an item by number. (Enter 0 when done)" &lt;&lt; endl;
         for (int i=0; i&lt; array_size-1; i++)
         {
            cout &lt;&lt; (i+1) &lt;&lt; ". " &lt;&lt; order.toppings_offered[i]&lt;&lt; endl;
         }
         cout &lt;&lt; "Selection?";
         cin &gt;&gt;topping_choice;
         order.AddTopping(topping_choice);
      }
   }

         return 0;
}
PizzaOrder::PizzaOrder()
{
   size=DEFAULT_SIZE;
   num_toppings=DEFAULT_TOPPINGS;
}
PizzaOrder::PizzaOrder(int size)
{
   if(!SetSize(size))
      size=DEFAULT_SIZE;
}
bool PizzaOrder::SetSize(int size)
{
   if (size != 0 || size !=1 || size !=2)
      return false;
   this -&gt; size=size;
   return true;
}
string PizzaOrder::AddTopping(string topping)
{
   string temp_toppings[]={toppings};
   short array_size = sizeof(temp_toppings)/sizeof(temp_toppings[0]);
   num_toppings+1;
   toppings[num_toppings];
   for(int k=0; k&lt;array_size-1; k++)
   {
      toppings[k]= num_toppings[k];
   }
   toppings[num_toppings]= topping;

}
int PizzaOrder::AddTopping(int n)
{
   string temp_toppings[]={toppings};
   short array_size = sizeof(temp_toppings)/sizeof(temp_toppings[0]);
   num_toppings+1;
   toppings[num_toppings];
   for(int k=0; k&lt;array_size-1; k++)
   {
      toppings[k]= num_toppings[k];
   }
   toppings[num_toppings]=toppings_offered[n];
}
double PizzaOrder ::GetPrice()
{
   double price;
   double multiplier;
   if(size==0)
      multiplier=1;
   if(size==1)
      multiplier=1.15;
   if (size==2)
      multiplier=1.25;
   price= (base_price*multiplier)+(num_toppings*topping_base_cost);
   return price;
}
string PizzaOrder::StringizeSize()
{
   if(size==0)
      return "small";
   if(size==1)
      return "medium";
   if (size==2)
      return "large";
}
string PizzaOrder::GetToppings()
{
   string temp= "";
   for(int x=0,x&lt;num_toppings-1, x++)
      temp+= "+ " + toppings[x];

   return temp;

}
void PizzaOrder::DisplayPizza()
{
   cout &lt;&lt; StringizeSize ()&lt;&lt; GetTopping () &lt;&lt; GetPrice ();
}
</code></pre>
