C++编译报错ld returned 1 exit status,请求排查解决
解决C++编译错误“ld returned 1 exit status”
你的代码出现这个链接错误,核心原因是只声明了login()、registration()、forgot()三个函数,但没有编写它们的具体实现。C++编译器能通过函数声明做语法检查,但链接器需要找到这些函数的实际代码才能生成可执行文件,找不到就会抛出该错误。
另外你菜单里的提示有笔误:" | Press 2 to if you forgot your PASSWORD |" 应该改成" | Press 3 to recover your PASSWORD |",否则用户会看到选项2对应两个功能,产生混淆。
以下是补全函数实现后的完整可运行代码(示例实现仅做输出演示,你可以根据需求完善功能逻辑):
#include <iostream> #include <fstream> #include <string> using namespace std; void login(); void registration(); void forgot(); int main(){ int c; cout<<" ___________________________________________________________\n\n\n"; cout<<" WELCOME TO LOGIN PAGE \n\n"; cout<<" ___________________________ MENU ___________________________\n"; cout<<" \n\n"; cout<<" | Press 1 to LOGIN |"<<endl; cout<<" | Press 2 to REGISTER |"<<endl; cout<<" | Press 3 to recover your PASSWORD |"<<endl; cout<<" | Press 4 to EXIT |"<<endl; cout<<"\n Please enter your choice: "; cin>>c; switch(c){ case 1: login(); break; case 2: registration(); break; case 3: forgot(); break; case 4: cout<<"Thank You!"; break; default: cout<<"Invalid Input"; } } // 补全login函数实现 void login() { cout << "正在执行登录操作..." << endl; // 此处添加登录逻辑:读取文件验证账号密码等 } // 补全registration函数实现 void registration() { cout << "正在执行注册操作..." << endl; // 此处添加注册逻辑:写入账号密码到文件等 } // 补全forgot函数实现 void forgot() { cout << "正在执行找回密码操作..." << endl; // 此处添加找回密码逻辑:验证身份后重置密码等 }
内容的提问来源于stack exchange,提问作者Mubeen Ul Hassan
相关产品推荐
相关产品推荐

