我正在研究这个程序(下面),并继续获得"未定义的引用' logOn(int,int&)'"。当我调用logOn,logOff和搜索函数时,它也会这样做。我的代码不是100%正确,但我试图找出我的错误,然后继续我的项目的其余部分。
#include <iostream>#include <iostream>
int menu(int &);
void logOn(int, int &);
int getUserID(int &);
int getLabNum(int &);
int getStation(int &, int &);
void logOff(int, int &);
void search(int, int &);
int main()
{
int userChoice = 0;
menu(userChoice);
int userID = 0;
int lab[4][6];
if (userChoice == 1)
{
logOn(lab[4][6], userID);
}
else if (userChoice == 2)
{
logOff(lab[4][6], userID);
}
else if (userChoice == 3)
{
search(lab[4][6], userID);
}
return 0;
}
以下是三个功能:
void logOn(int lab[4][6], int &userID)
{
int labNum, station = 0;
getUserID(userID);
getLabNum(labNum);
getStation(station, labNum);
int *lab_ptr = &labNum;
int *station_ptr = &station;
int *user_ptr = &userID;
for (int i = 1; i < 5; i++)
{
std::cout << "Lab " << i << ": ";
if (i == 1)
{
for (int j = 1; j < 6; j++)
{
lab[*lab_ptr][*station_ptr] = {*user_ptr};
}
}
}
}
void logOff(int lab[4][6], int &userID)
{
std::cout << "Please enter your student ID: ";
std::cin >> userID;
std::cout << std::endl;
for(int i = 1; i < 5; i++)
{
for(int j = 1; j < 7; j++)
{
if(lab[i][j] == userID)
{
lab[i][j] = 0;
}
}
}
}
void search(int lab[4][6], int &userID)
{
std::cout << "Please enter the User ID you would like to find: ";
std::cin >> userID;
for(int i = 1; i < 5; i++)
{
if (i == 1)
{
for(int j = 1; j < 6; j++)
{
if(lab[i][j] == userID)
{
std::cout << "This user is in lab " << i << " and at station " << j << std::endl;
return;
}
}
}
etc....
我认为它与标题中的实验[4] [6]有关,但是我看到了另一个程序,它运行没有问题。任何帮助将不胜感激!