Dropping the explicit auto would break the language:
e.g.
int main()
{
int n;
{
auto n = 0; // this shadows the outer n.
}
}
where you can see that dropping the auto would not shadow the outer n.
Dropping the explicit auto would break the language:
e.g.
int main()
{
int n;
{
auto n = 0; // this shadows the outer n.
}
}
where you can see that dropping the auto would not shadow the outer n.