C から C++ に変換しようとしているプログラムのメイン内で関数を呼び出そうとしています。他の関数内のすべての関数呼び出しはエラーなしでコンパイルされますが、メインの 1 つの関数呼び出しに到達すると、 no matching function for call to contacts::menu(contacts*[5], int*, int&, char[50])'
主なものは次のとおりです。
int main() {
contacts *friends[5];
char buffer[BUFFSIZE];
int counter=0;
int i=0;
contacts::menu(friends, &counter,i,buffer);
getch();
return 0;
}
関数宣言を含むクラスは次のとおりです。
class contacts
{
private:
char *First_Name;
char *Last_Name;
char *home;
char *cell;
public:
//constructor
contacts()
{
}
//Function declarations
static void menu(contacts*friends ,int* counter,int i,char buffer[]);
};
メニュー機能の最初の部分は次のとおりです。
void contacts::menu(contacts*friends,int* counter, int i,char buffer[])
{
int user_entry=0;
int user_entry1=0;
int user_entry2=0;
char user_entry3[50]={'\0'};
FILE *read;
printf("Welcome! Would you like to import a file? (1)Yes or (2) No");
scanf("%d",&user_entry1);
if(user_entry1==1)
{
printf("Please enter a file name");
scanf("%s",user_entry3);
read=fopen(user_entry3,"r+");
私が言ったように、私のプログラム内の他の関数はエラーを受け取りませんが、これはエラーを受け取ります。私は C++ が初めてなので、メイン内で関数を呼び出すために追加する必要がある特別なものがあるかどうかはわかりませんでした。