'logIn':找不到标识符

时间:2018-01-14 22:45:05

标签: c++ methods compiler-errors

这个问题可能已经回答了,但我找不到它,所以只需评论链接。 我认为问题是编译器没有读取其他方法并且在我调用它时停止。

这是我的代码

#include <iostream>
#include <string>
#include <fstream>

using namespace std;
void mainMenu() {
    system("cls");
    cout << "===== Main Menu =====" << endl;
    cout << "1. Log In" << endl;
    //cout << "2. Date and Time" << endl;
    cout << "3. Exit" << endl;

    int minput;
    cin >> minput;

    switch (minput) {
    case 1: logIn();
        break;
    default: mainMenu();
        break;

    }
    system("pause");
}
void logIn() {
    string npassword;
    ofstream outfile;

    system("cls");
    cout << "Log in > " << flush;
    string password = "testing123";
    bool notLoggedIn;
    string input;
    cin >> input;
    while (notLoggedIn = true) {
        if (input == password) {
            cout << "Login Succeful" << endl;
            mainMenu();
        }
        else if (input == "-fp") {
            outfile.open("passwordlist.txt");
            cout << "Enter your new password > " << endl;
            cin >> npassword;
            outfile << npassword << endl;
            outfile.close();
            logIn();
        }
        else {
            cout << "Incorrect Password. To reset your password type -fp " << endl;
            system("pause");
            logIn();
        }
    }
}
int main() {

    mainMenu();

    return 0;


}

: 这是错误: 严重性代码描述项目文件行类别抑制状态 错误C3861'logIn':找不到标识符Project1 c:\ users \ user1 \ documents \ c ++ \ project1 \ project1 \ source.cpp 17

我不知道要解决这个问题。我是c ++的新手,所以任何帮助都会很好!

1 个答案:

答案 0 :(得分:0)

问题是您在声明之前使用logIn()。您可以通过在mainMenu()

之前添加前向声明来解决此问题
void logIn();

void mainMenu() {
...
}

void logIn() {
...
}