The reason for the compiler complaints is that "123" is a string literal, not an integral value.
Although you didn't ask about it, I'll point out another major flaw in your code.
Although the compiler didn't complain about it the construct
Code:
if ( password == some_constant || some_other_constant)
is not a test of whether password is equal to one of some_constant or some_other_constant. It is actually equivalent to
Code:
if ( (password == some_constant) || (some_other_constant != 0))
If you want to test if password is equal to some_constant or equal to some_other_constant, you need to do this;
Code:
if ( (password == some_constant) || (password == some_other_constant))
I've left brackets around the two comparisons for clarity - they are not actually required since == (compare for equality) has higher precedence than || (logical or).