I keep getting this error no match for 'operator==' in 'temp2 == temp3'
<pre><code>#include&lt;iostream&gt;  
#include&lt;cctype&gt;
#include&lt;string&gt;
#include&lt;cstdlib&gt;
#include"Palindrome.h"

using namespace std;

struct Node
{
  string pharse;
  Node* next;
};

int main()
{           
  Stack S1;
  Queue Q1;
  string word;
  int length;

  cout &lt;&lt; "Do you know what a Palindrome is?\n";
  cout &lt;&lt; "It is a word that is the same spelling backwards and forward\n";

  cout &lt;&lt; "Enter in a word ";
  getline(cin, word);
  //cout.flush();
  length = word.length();
  string NewWord1[length];
  string NewWord2[length];
  for(int c =0; c &lt; length; c++)
  {
    NewWord1[c] = word[c];
    NewWord2[c] = word[c];

  }
  for(int c =0; c &lt; length; c++)
  {
    cout &lt;&lt; NewWord1[c];
    cout &lt;&lt; endl;

    cout &lt;&lt; NewWord2[c];
    cout &lt;&lt; endl;
  }


  cout &lt;&lt; "end";

  S1.push(NewWord1, length);
  Q1.enqueue(NewWord2, length); 
  Node temp2 = S1.pop();
  Node temp3 = Q1.dequeue();
  if(temp2 == temp3)
    cout &lt;&lt; "They are palindrome.";
  else
    cout &lt;&lt; "They are not palindrome.";
  /*S1.pop();*/
  return 0;
}

void Stack :: push(string NewWord1[], int size)
{
        //cout &lt;&lt; NewWord1[0];
        if(!isFull())   
        {
                for(int i = 0; i &lt; size; i++)
                {
                        Node *temp = new Node;
                        temp -&gt; pharse = NewWord1[i];
                        temp -&gt; next = head1;
                        head1 = temp;
                }
        }
}   
</code></pre>

<p>// pop and enqueue return a Node which is my structure.</p>
