Ошибка: C ++ требует спецификатора типа для всех объявлений

Я новичок в C ++, и я читал эту книгу. Я прочитал несколько глав и подумал о своей идее. Я попытался скомпилировать код ниже, и я получил следующую ошибку:

|| === Сборка: отладка по паролю (компилятор: GNU GCC Compiler) === |
/Users/Administrator/Desktop/AppCreations/C++/Password/Password/main.cpp|5|error:
C ++ требует спецификатора типа для всех объявлений | || === Build
Ошибка: 1 ошибка (и), 0 предупреждение (я) (0 минут (ы), 2 секунды (ы)) === |.

Я не понимаю, что не так с кодом, может кто-нибудь объяснить, что не так и как это исправить? Я прочитал другие посты, но я не смог понять это.

Благодарю.

#include <iostream>

using namespace std;

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

}

1

Решение

Вам необходимо включить библиотеку строк, вам также нужно предоставить тип возврата для вашей функции 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
}
3

Другие решения

Вам нужно объявить тип возвращаемого значения для main. Это всегда должно быть int в юридическом C ++. Последняя строка вашего основного, во многих случаях, будет return 0; — т.е. успешно завершить. Что-нибудь кроме 0 используется для обозначения состояния ошибки.

3

По вопросам рекламы [email protected]