this is my code.. but i get error in xstring header file at this part
size_type size() const
{ // return length of sequence
return (this->_Mysize);
}

here's my full code
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;





struct node
{
string title;
string artist;

node* right;
node* left;
};


class song
{
private:
node *root;
node *insertx(string song,string artist,node *xyz)
{
if(song<xyz->title)
{
if(xyz->left==NULL)
{
xyz->left=new node;
xyz->left->left=NULL;
xyz->left->title=song;
xyz->left->artist=artist;
xyz->left->right=NULL;
}
else
{
insertx(song,artist,xyz->left);
}

}
else if(song>xyz->title)
{
if(xyz->right==NULL)
{
xyz->right=new node;
xyz->right->left=NULL;
xyz->right->title=song;
xyz->right->artist=artist;
xyz->right->right=NULL;
}
else
{
insertx(song,artist,xyz->right);
}

}
return xyz;
}
node *searchbytitle(string song,node *xyz)
{
if(song==xyz->title)
{
return xyz;
}
else if(song<xyz->title)
{
if(xyz->left!=NULL)
{
searchbytitle(song,xyz->left);
}
else
{
return NULL;
}
}
else if(song>xyz->title)
if(xyz->right!=NULL)
{
searchbytitle(song,xyz->right);
}
else
{
return NULL;
}

}
void deletesong(string song,node *xyz)
{
node*a;
a=new node;
if(song==xyz->title)
{
xyz->left=a;
xyz->left->left=a->left;
xyz->left->artist=a->artist;
xyz->left->title=a->title;
delete xyz;

}
else if(song<xyz->title)
{
deletesong(song,xyz->left);
}
else if(song>xyz->title)
{
deletesong(song,xyz->right);
}
cout<<"DELETED!!! \n ";

}
void searchbyartist(string artist,node *xyz)
{
node*temp;
temp=new node;
temp=root;
while(temp->left!=NULL)
{
if(artist==temp->artist)
{
cout<<temp->title<<endl;
}
temp=temp->left;
}
while(temp->right!=NULL)
{
if(artist==temp->artist)
{
cout<<temp->title<<endl;

}
temp=temp->right;
}
}
public:
song(){root=NULL;}
node* insert(string song,string artist)
{
node*temp;
temp=new node;
if (root==NULL)
{
root=new node;
root->artist=artist;
root->title=song;
root->left=NULL;
root->right=NULL;
temp=root;
}
else
{
temp= insertx(song,artist,root);
}
cout<<"\n\nSong added to the library \n";
return temp;
}
node* titlesearch(string song)
{
node *temperory;
temperory=new node;
if (song==root->title)
{
return root;
}
else
{
temperory=searchbytitle(song,root);
return temperory;
}
}
void artistsearch(string artist)
{
searchbyartist(artist,root);
}
void deletesongs(string song)
{
deletesong(song,root);
}
void display(node* data)
{
node *datax;
datax=new node;
datax=data;
while(data->left!=NULL)
{
data=data->left;
cout<<data->title<<setw(7)<<data->artist<<endl;
}
while(datax->right!=NULL)
{
datax=datax->right;
cout<<datax->title<<setw(7)<<datax->artist<<endl;
}
}
};

void menu()
{
song x;
node *temp;
temp=new node;
int a=0;
string title="";
string artist="";
cout<<"****WELCOME TO YOUR MUSIC LIBRARY****\n Please Pick One Of Following Options -: \n";
cout<<"1)Add a New Song \n2)Search a Song \n3)Delete a song \n4)Display Your Music Database\n";
cin>>a;
if (a==1)
{
cin.ignore();
cout<<"\n\nPlease Enter New Song's Title \n";
getline(cin,title);


cout<<"\n\nPlease Enter it's Artist's name \n";
getline(cin,artist);
cin.ignore();
temp=x.insert(title,artist);
}
else if (a==2)
{

int c=0;
cout<<"**Enter 1 for searching by song's title \n";
cout<<"**Enter 2 for searching by song's artist \n";
cin>>c;
if(c==1)
{
node*d;
d=new node;
cout<<"Enter Song's title \n";
cin.ignore();
getline(cin,title);
d=x.titlesearch(title);
cout<<d->title<<" "<<d->artist<<endl;
}
else if(c==2)
{
cout<<"Enter Artist Name \n";
cin.ignore();
getline(cin,artist);
x.artistsearch(artist);


}
else
{
cout<<"***ERROR***WRONG CHOICE INPUT***\n";
}
}
else if (a==3)
{
cout<<"Enter song's name \n";
getline(cin,title);
x.deletesongs(title);
cout<<endl;
}
else if(a==4)
{
x.display(temp);
}
int f=0;

cout<<"\n\nPress 1 to Continue Managing Library \n";
cin>>f;
if(f==1)
{
menu();
}
}

int main()
{
menu();
return 0;
}

plzzzzzzz help , as i really need it to work.. thanks