Need help with this error code 2664

An error code 2664 pops up for this program I am working on and I can't figure out how to fix it.
It specifically says: error C2664: 'menu::menu(const menu &)' : cannot convert parameter 1 from 'const char [43]' to 'const menu &' for c++\invtyapp.cpp

The problem is in my Invtyapp.cpp which looks like this:

#include "InvtyApp.h"

InvtyApp::InvtyApp()
{
Mo = new menu("ACDLE, Select one of the following options"); //error is //found on this line on first parenthesis.

Mo->add_prompt("(A)dd Inventory");
Mo->add_prompt("(C)hange Inventory");
Mo->add_prompt("(D)elete Employee");
Mo->add_prompt("(L)ist Employee");
Mo->add_prompt("(E)xit");

I = new Inventory();

INumfld = I->get_InvNumber();
NumbItemfld = I->get_NumberItemStock();
ItemPricefld = I->get_ItemPrice();
RunApp();
}

InvtyApp::~InvtyApp()
{
delete I;
delete Mo;
}


void InvtyApp::RunApp()
{
char ch;
do
{
ch = Mo->do_menu();
cout << endl<<endl<<flush;
switch(ch)
{
case 'A':
AddInv();
break;
case 'D':
DelInv();
break;
case 'C':
ChgInv();
break;
case 'L':
LstInv();
break;
}
}
while (ch!='I');
}

void InvtyApp::AddInv()
{
char ch;
if(I->get_InvNumber() == 0)
(
I->Clear());
system("cls");
cout << endl<<endl<<flush;
cout << "Enter a new Inventory Number: ";
cin >> INumfld;
cout << endl<<endl;;
cout << "Enter a new Number of Items in Stock: ";
cin >> NumbItemfld;
cout << endl<<endl;
cout << "Enter a new Item Price: ";
cin >> ItemPricefld;

cout << endl<<endl<<flush;
cout << "Do you want to save this record?"<<flush;

do
ch=toupper(getch());
while((ch != 'Y') && (ch != 'N'));
if(ch=='Y')
{
I->set_InvNumber(INumfld);
I->set_NumberItemStock(NumbItemfld);
I->set_ItemPrice(ItemPricefld);
}

else
{
system("cls");
cout << endl << endl << flush;
cout << "Inventory alread exists. \nYou must delete Inventory before you may add Inventory";
cout << "\n\n\nPlease press any key to continue" << flush;
getch();
}
}

void InvtyApp::DelInv()
{
system("cls");
if(I->get_InvNumber() == 0)
{
cout << "\nThere is no Inventory. You must add Inventory";
cout << "\nbefore you may delete an employee\n\n"<<flush;

}
else
{
I->Clear();
cout << " Inventory Record Deleted!\n\n";
}
cout << " Press any Key";
getch();
}

void InvtyApp::ChgInv()
{
char ch;

system("cls");

if(I->get_InvNumber() == 0)
{
cout <<"\n\nThere is no employee. You must add an employee";
cout <<"\nbefore you may change Inventory\n\nPlease press any key to continue"<<flush;
getch();
}
else
{
EditInv();
cout << endl << endl << endl<< endl << endl;
cout << "n\nDo you want to save this record?"<<flush;
do
ch=toupper(getch());
while((ch != 'Y') && (ch != 'N'));
if(ch=='Y')
{
I->set_InvNumber(INumfld);
I->set_NumberItemStock(NumbItemfld);
I->set_ItemPrice(ItemPricefld);
}
}
}

void InvtyApp::LstInv()
{
system("cls");
if(I->get_InvNumber() !=0)
ShowInv();

cout <<"\n\nEnd of File... Press any key to continue"<<flush;
getch();
}

void InvtyApp::ShowInv()
{
INumfld = I->get_InvNumber();
NumbItemfld = I->get_NumberItemStock();
ItemPricefld = I->get_ItemPrice();

system("cls");
cout << endl<<endl<<flush;
cout << "Inventory Number: " << INumfld;
cout << endl<<endl<<flush;
cout << "Number of Items in Stock: " << NumbItemfld;
cout << endl<<endl<<flush;
cout << "Item Price: " << ItemPricefld;
cout << endl<<endl<<flush;
}

void InvtyApp::EditInv()
{
char sel;

do
{
system("cls");
cout << endl << endl << flush;
cout << endl << " 1. Inventory Number:" << INumfld << endl;
cout << " 2. Number of Items in Stock : " << NumbItemfld << endl;
cout << " 3. Item Price : " <<ItemPricefld << endl;
cout << " 4. Done" <<endl << endl << endl<< flush;

cout << " Select a number from above to change field :";
cin >> sel;
cout << endl<<flush;
switch(sel)
{
case '1':
cout << endl << endl << "enter a new Inventory Number : ";
cin >> INumfld;
break;
case '2':
cout << endl << endl << "enter number of Items in Stock : ";
cin >> NumbItemfld;
break;
case '3':
cout << endl << endl << "enter a new Item Price : ";
cin >> ItemPricefld;
break;
}
cout << endl<<endl<<flush;
} while(!sel=='4');
}

I know that the problem needs to be fixed in either my menu.cpp file or my menu.h file both of which are coded as follows

Menu.h:

#ifndef MENU_H_
#define MENU_H_

#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <list>

using namespace std;

class menu
{

list< char *> pL;
char *valid_selects;
char *instruct;

void display_menu();
char get_choice();

list< char *>::iterator iter;

public:
menu(char *, char*);
char do_menu();
void add_prompt(char *);
};

#endif

Menu.cpp:
#include "menu.h"


menu::menu(char *vs,char *inst) // I believe that I need to change this part //around but I don't know how I should change it to incorporate the const menu &
{
valid_selects = new char [strlen(vs) + 1];
strcpy(valid_selects,vs);
instruct = new char[strlen(inst)+1];
strcpy(instruct,inst);
iter = pL.begin();
getch();
}

char menu::do_menu()
{
char ch = 0;
display_menu();
ch = get_choice();
return ch;
}

void menu::add_prompt(char *p)
{
pL.push_back(p);
}


void menu::display_menu()
{
system("cls");
cout<<endl<<endl<<flush;
cout <<instruct<<flush;

for(iter =pL.begin();iter != pL.end();iter++)
{
cout<<endl<<endl<<flush;
cout << *iter<<flush;
}
cout<<endl<<endl<<flush;
}


char menu::get_choice()
{
char ch = 0;
do
ch=toupper(getch());
while(!strchr(valid_selects,ch));
return ch;
}
I posted this on the beginners forum and didn't receive much help. This only includes 3 of the 7 files that I have written but I really feel like the problem resides within these 3. I can post the other code for the other four files if necessary. Any help would be greatly appreciated. I have been working on this for a long time and I can't seem to fix this one problem. This is the final problem to fix in order to make this program run and I can't seem to make it work. If you could provide a detailed solution or even point me in the right direction to figure out what I need to do I would really be thankful.
Thank you all
Topic archived. No new replies allowed.