2015-01-27 2 views
1

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

||=== Build: Debug in Password (compiler: GNU GCC Compiler) ===| /Users/Administrator/Desktop/AppCreations/C++/Password/Password/main.cpp|5|error: C++ requires a type specifier for all declarations| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 2 second(s)) ===|.

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

Спасибо.

#include <iostream> 

using namespace std; 

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

} 
+2

'int main() {...' – quantdev

+0

Вам также нужен '#include '. – chris

+1

@Gigabillion Пожалуйста, не редактируйте свой вопрос, чтобы включить ответ. Это пугает людей, которые еще не прочитали вопрос. Вместо этого нажмите метку «отметьте» рядом с одним из опубликованных ответов, чтобы показать, что вы принимаете этот ответ. –

ответ

3

Вам необходимо включить библиотеку строки, вы также должны предоставить тип возврата для основной функции и ваша реализация может потребовать от вас объявить явный оператор возврата для основных (в некоторых реализациях добавить неявную если вы не указывать явно); например:

#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 
} 
2

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

+2

'return 0' всегда подразумевается для' main'. – 0x499602D2

Смежные вопросы