deleting first node of linked list (C++) :  i want to know whether this code deletes the first node correctly or should i necessarily pass list's head as a pointer?

     void List::deleteFirst()          
     {
	 temp = head;
	 head = head->next;
	 delete temp;
     }
this is the class List

      class List
      {
       private:
	           struct node
	           {
		            int data;
	            	node * next;
	           };
               node * head;
	           node * curr;
	           node * temp;
       public:
	           //List();
	           //void AddNode(int addData);
	           //void DeleteNode(int delData);
	           void deleteFirst();
	           //void PrintList();
};