我在编译基本密码保护文件程序的开头时遇到问题,我在第11行遇到了上述错误,(int login(用户名,密码))。不知道这里发生了什么,所以如果有人能够了解情况会很好。
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int i,passcount,asterisks;
char replace, value, newchar;
string username,password,storedUsername,storedPassword;
int login(username,password);
{
if (username==storedUsername)
{
if (password==storedPassword)
cout<<"Win!";
else
cout<<"Username correct, password incorrect."
}
else cout<<"Lose. Wrong username and password.";
}
int main()
{
cout<<"Username: ";
cin>>username;
cout<<"Password: ";
do
{
newchar = getch();
if (newchar==13)break;
for (passcount>0;asterisks==passcount;asterisks++)cout<<"*";
password = password + newchar;
passcount++;
} while (passcount!=10);
ifstream grabpass("passwords.txt")
grabpass>>storedpass;
grabpass.close();
login(username,password);
return 0;
}
答案 0 :(得分:6)
int login(username,password);
{
应该是
int login(string username,string password)
{
答案 1 :(得分:3)
你可能不想修复功能声明
int login(username,password);
应改为
int login(const string& username,const string& password);
另外,作为样式注释,您可能不想声明全局变量,您可以将大多数变量的范围限制为main中的本地范围。
答案 2 :(得分:1)
您必须指定用户名和密码的数据类型。
答案 3 :(得分:0)
使用参数声明用户定义的函数时,还必须声明参数类型。
例如:
int foo(int parameter)
{
return parameter + 1;
}