You cannot name a variable (or any identifier) with a reserved word;
reserved words are keywords
asm do if return try
auto double inline short typedef
bool dynamic_cast int signed typeid
break else long sizeof typename
case enum mutable static union
catch explicit namespace static_assert unsigned
char export **new** static_cast using
class extern operator struct virtual
const false private switch void
const_cast float protected template volatile
continue for public this wchar_t
default friend register throw while
delete goto reinterpret_cast true
and and_eq bitand bitor compl not
not_eq or or_eq xor xor_eq