auto int x;
is circular - you are literally declaring the type as an int
.
given that you had this information - there is no reason to not simply use:
int x;
if you wanted to declare x the type of another variable in scope you can use decltype
using sometype = float;
sometype y;
decltype(y) x;