Reputation: 63
I'm new to C++ and I've been reading this book. I read a few chapters and I thought of my own idea. I tried compiling the code below and I got the following error:
||=== 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)) ===|.
I don't understand what is wrong about the code, might anyone explain what's wrong and how to fix it? I read the other posts but I was unable to understand it.
Thanks.
#include <iostream>
using namespace std;
main()
{
string password;
cin >> password;
if (password == "Lieutenant") {
cout << "Correct!" << endl;
} else {
cout << "Wrong!" << endl;
}
}
Upvotes: 6
Views: 64837
Reputation: 590
One Extra Point:
You can also get exact same error if you try to assign variable in class. Because in C++ you can initialize variables in class but can't assign later after variable declaration but if you try to assign in a function which is defined in the class then it would work perfectly fine in C++.
Upvotes: 4
Reputation:
You need to include the string library, you also need to provide a return type for your main function and your implementation may require you to declare an explicit return statement for main (some implementations add an implicit one if you don't explicitly provide one); like so:
#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
}
Upvotes: 8
Reputation: 1582
You need to declare the return type for main. This should always be int
in legal C++. The last line of your main, in many cases, will be return 0;
- i.e. exit successfully. Anything other than 0
is used to indicate an error condition.
Upvotes: 5