5

我是 C++ 新手,我一直在读这本书。我读了几章,我想到了自己的想法。我尝试编译下面的代码,但出现以下错误:

||=== 构建:密码调试(编译器:GNU GCC 编译器)===| /Users/Administrator/Desktop/AppCreations/C++/Password/Password/main.cpp|5|错误:C++ 需要所有声明的类型说明符| ||=== 构建失败:1 个错误,0 个警告(0 分钟,2 秒)===|。

我不明白代码有什么问题,有人可以解释什么是错误的以及如何解决吗?我阅读了其他帖子,但我无法理解。

谢谢。

#include <iostream>

using namespace std;

main()
{
    string password;
    cin >> password;
    if (password == "Lieutenant") {
        cout << "Correct!" << endl;
    } else {
        cout << "Wrong!" << endl;
    }

}
4

3 回答 3

4

您需要包含字符串库,您还需要为您的 main 函数提供一个返回类型,并且您的实现可能需要您为 main 声明一个显式返回语句(如果您没有显式提供,某些实现会添加一个隐式返回语句) ; 像这样:

#include <iostream>
#include <string> //this is the line of code you are missing

using namespace std;

int main()//you also need to provide a return type for your main function
{
    string password;
    cin >> password;
    if (password == "Lieutenant") {
        cout << "Correct!" << endl;
    } else {
        cout << "Wrong!" << endl;
    }
return 0;//potentially optional return statement
}
于 2015-01-27T03:37:07.893 回答
3

您需要声明 main 的返回类型。这应该始终int在合法的 C++ 中。在许多情况下,您的 main 的最后一行将是return 0;- 即成功退出。0除了用于指示错误条件之外的任何内容。

于 2015-01-27T03:37:34.247 回答
1

一加分

如果您尝试在类中分配变量,您也会得到完全相同的错误。因为在 C++ 中,您可以在类中初始化变量,但不能在变量声明后进行赋值,但是如果您尝试在类中定义的函数中进行赋值,那么它在 C++ 中可以正常工作。

于 2021-05-26T07:36:34.983 回答