Q:

The overloaded member function is not found, the class is in header

I got the error messages for functions in user.cpp file: overloaded member function  not found and in main.cpp I got : declaration is incompatible with function.
The program is a phonebook that writes data and takes from file. The functions are working individually, but when I put them in project calling them doesn't work.
Edit :
After editing of program it's working, but i made 3 new functions that don't work properly. First one is Prefix that search for a country in a file and return prefix for phone number, the return is good, but it's not saving in file. SearchUser and DeleteUser functions that work partially, in file stay the same users.  
user.h
#pragma once
#include <string>
using namespace std;
class User
{private:

    string firstname, lastname, country, city, street;
    string phone, prefix;

public:
  void ReadAllUsers(User[], int&);
  void SaveUser(User, int&);
  void SaveToFile(const User[], int);
  void AddName(User[], int&);
  void ListAllUsers(const User[], int&);
  void Prefix(User, int);
  void ChangePhone(User[], int&);
  void Help();
  void DeleteUser(User[], int&);
  bool Search(string x) 
{
return (phone.find(x) != string::npos);
}

};

user.cpp
#include "User.h"
#include <iostream>
#include <fstream>
#include <string>
#pragma warning(disable:4996)
using namespace std;

const string PHONEBOOK_FILENAME = "phonebook.txt";
void User::Help()
{cout<<"\nWELCOME TO THE APPLICATION!\n";
 cout<<"Press 0 to display on the screen all records that are saved in the file(phonebook.txt)\n";
 cout<<"Press 1 to add 1 or more new record(s) in file(phonebook.txt)\n";
 cout<<"Press 2 to delete permanently a record from file(phonebook.txt)\n";
 cout<<"Press 3 to sort users from file(phonebook.txt) by name and display them on the screen\n";
 cout<<"Press 4 to edit a user phone number and save it after in file(phonebook.txt)\n";
 cout<<"Press 5 for help\n";
 cout<<"Press 6 to exit the application\n";
}

void User::ReadAllUsers(User people[], int &num_people)

{
    ifstream f;

    f.open(PHONEBOOK_FILENAME.c_str());

    if (f.fail())
{
  cout << "Unable to open file " << endl;
  return ;
}
    int i = 0;

    while (!f.eof() && i < 100)

    {   getline(f, people[i].firstname);
        getline(f, people[i].lastname);
        getline(f, people[i].phone);
        getline(f, people[i].country);
        getline(f, people[i].city);
        getline(f, people[i].street);
        i++;
    }
num_people = i;

f.close();

}

//Add country prefix to the phone number
void User::Prefix(User person, int num_people)
{string filecountry;
ifstream f;
    f.open("prefix.txt");
    {
    while (getline(f, filecountry))
  {
      if (person.country == filecountry )
      {
         f.ignore();//next line
         f >> person.prefix;
        }
    }
cout << "The prefix is " << person.prefix;
f.close();
  }
}
void User::SaveUser(User person, int &num_people)
{
ofstream f(PHONEBOOK_FILENAME.c_str(), ios::app ) ;
    if (f.fail())
    cout << "Unable to open file " << endl;
        else
            Prefix(person, num_people);
        f << person.firstname << " " <<  person.lastname << " " << person.country <<  " " << person.city << " " << person.street << " " << person.prefix << "-" << person.phone << endl;
cout << "\nThe user was added\n";
}
//Save data after a modification or after a user delete
void User::SaveToFile(const User people[], int num_people)

{ofstream f;
f.open(PHONEBOOK_FILENAME.c_str());

 for(int i = 0; i < num_people; i++)

    {

        f << people[i].firstname << " " << people[i].lastname << " " <<  people[i].country << " " << people[i].city << " " << people[i].street << " " << people[i].prefix << " " << people[i].phone << endl;
}
}
// Read user data from the keyboard, add a new contact to the array
void User::AddName(User people[],int &num_people)
{User person;

    cout <<"Enter the user's first name: ";
    cin >> person.firstname;

    cout <<"Enter the user's last name: ";
    cin >> person.lastname;

    cout <<"Enter the user's country: ";
    cin >> person.country;

    cout <<"Enter the user's city: ";
    cin >> person.city;

    cout <<"Enter the user's street: ";
    cin >> person.street;

    cout <<"Enter the user's phone number: ";
    cin >> person.phone;

        for(int i = 0; i < num_people; i++)

    {

        if( i + 1  == num_people)

            people[num_people] = person;

    }
SaveUser(person, num_people);

   num_people++;

}
// Ask the for person's name to change, find the person in the array and
// change it to the new phone number.  Then save the new data to file by
// calling SaveToFile.
void User::ChangePhone(User people[], int &num_people)
{
User person;
int count;

cout <<"Enter name to change: ";
cin >> person.firstname;

for(count = 0; count < num_people; count++)

    {

        if(people[count].Search(person.firstname))

        {   cout <<endl<< people[count].firstname<<endl;

cout <<"Current number"<<people[count].phone;
cout << "\nNew number: ";

cin >> people[count].phone;

SaveToFile(people,num_people);
cout <<"\n\nNew number Saved.";
return;
 }
}
if(count = num_people)

        cout <<"\nName not found.\n";

}

void User::DeleteUser(User people[], int &num_people)
{string phone;
int count = 0;
ifstream f;
f.open("phonebook.txt");
cout << "Input the phone of user that you want to delete ";
cin >> phone;

for(count = 0; count < num_people; count++)

    {

        if(people[count].Search(phone))

        {   cout <<endl<< people[count].phone<<endl;
people[count].firstname = people[count].lastname = people[count].phone = people[count].country = people[count].city = people[count].street = " ";
        }
SaveToFile(people,num_people);
cout <<"\n\nUser deleted.";
return;}
f.close();
}

// Ask the user for a name to find and show all occurrences of the name
// in the given array.
/*void SortUsers(User people[], int num_people)
{

}
*/
// Display all user data.
void User::ListAllUsers(const User people[], int &num_people)
{string line;
ifstream f;
f.open("phonebook.txt");
if (f)
    {
 while (getline(f, line)) {
    cout << line.c_str() << endl;
    }
}
  else
    cout << " Can't open the file!\n";
f.close();
}

main.cpp
#include <iostream>
#pragma warning(disable:4996)
#include <string>
#include <fstream>
#include <conio.h>
#include <stdlib.h>
#include "User.h"
using namespace std;

int main()
{
string mypassword; //file password
string password; //input password
char ch;
    ifstream file;
    file.open("mypassword.txt");
    file >> mypassword;
    file.close();
cout << "=====================================================================\n";
cout << "                               WELCOME !"<<endl;
cout << "=====================================================================\n";
cout << " Enter the password to access the program : ";
   ch = _getch();
   while(ch != 13){//character 13 is enter
      password.push_back(ch);
      cout << '#';
      ch = _getch();
}
cout << "\n=====================================================================\n";
if(password==mypassword)
{cout<<"\n Correct password!"<<endl;
 cout << "=====================================================================\n";
int choice;
bool menu = true;//menu
User people[100];
int num_people=0;
while (menu != false){
cout << "|===================================================================|\n";
cout << "|                                =MENU=                             |\n";
cout << "|===================================================================|\n";
cout << "|                            0 - Phone book!                        |\n";
cout << "|                            1 - Add user!                          |\n";
cout << "|                            2 - Delete user!                       |\n";
cout << "|                            3 - Sort users!                        |\n";
cout << "|                            4 - Edit user!                         |\n";
cout << "|                            5 - Help!                              |\n";
cout << "|                            6 - Exit!                              |\n";
cout << "|===================================================================|\n";
cout << " Enter your choice and press enter: ";
cin >> choice;
 User user;
 fstream file;
file.open("phonebook.txt", ios::ate | ios::in | ios::out | ios::binary );
// Get records from file
user.ReadAllUsers(people, num_people);

  switch (choice)
{
case 0://Read all contacts from file
{cout << "==============================PHONEBOOK==============================\n" << endl;

    user.ListAllUsers(people, num_people);
}
break;
case 1:
    {
    user.AddName(people, num_people);
break;}
case 2:
    {
    user.DeleteUser(people, num_people);
break;}
case 3:
    cout << "nothing\n";
break;
case 4:
    {
    user.ChangePhone(people, num_people);
break;}
case 5:
    {
    user.Help();
    break;}
case 6:
    {cout << " Session ended!\n";
file.close();
menu = false;
break;}

default:
    cout << " Not a Valid Choice. \n";
    cout << "======================================================================\n";
    cout << " Choose again.\n";
    cin >> choice;
break;
    }
  }
}
    else {
        cout<<"\n"<<" Wrong password!"<<endl;
        cout << "===================================================================\n";
    }
 return 0;
}

A:

The declaration in User.h and User.cpp are not consistent, supposing the implementation correct the declaration of the class can be replaced by :
class User
{
  private:
    string firstname, lastname, country, city, street, streetnumber;
    string phone;

public:
  void ReadAllUsers(User[], int&);
  void SaveUser();
  void SaveToFile(const User[], int);
  void AddName(User[], int&);
  void ListAllUsers(const User[], int&);
  void Read();
  void Print();
};

But the operation working on a vector of User must be static, they do not affect the instance.
class User
{
  private:
    string firstname, lastname, country, city, street, streetnumber;
    string phone;

public:
  static void ReadAllUsers(User[], int&);
  void SaveUser();
  static void SaveToFile(const User[], int);
  static void AddName(User[], int&);
  static void ListAllUsers(const User[], int&);
  void Read();
  void Print();
};

Why are you using array rather than std::vector, this last is much more practical
In main 

the local var people must be an array/vector, if an array considering the limitation to 100 in User::ReadAllUser it can be User people[100];, but again a vector is much better
you redefine the variables people and num_people in some cases of the switch, that as no sense, these redefinitions must be removed. Using a vector the variable num_people become useless

The unique definition of the variables people and num_people (if array rather than vector) must be moved before the while rather than inside, and num_people if it exists must be initialize to 0, so
 ...
 int choice;
 bool menu = true;//menu
 User people[100];
 int num_people = 0;

 while (menu != false){

or
 ...
 int choice;
 bool menu = true;//menu
 vector<User> people

 while (menu != false){

But what about to make people a static variable of User, saving all the instances ?
In User::ReadAllUsers

if (f.fail())
{
  cout << "Unable to open file " << endl;
}
else
{
   return ;
}

has no sense, the return must be done in case you cannot open file file, not when you can, so :
if (f.fail())
{
  cout << "Unable to open file " << endl;
  return ;
}

You missed to check file.open("mypassword.in"); success
Do not use literal number but character name, so '\r' rather than 13. Note `\r' supposes you are under Windows, under for instance a Linux you will read '\n' without '\r' before
User::AddName must be static and add a user in people, not just setting a local var. The call of User::SaveUser() must be done on the new instance, this is not even the case currently where the operation is not static
User::SaveUser must add a the new user in the file, not replace all the file with just the new user, open the file in append mode.

