Indicate in cppreference that the expression representing the subscript must be a prvalue of unscoped enumeration or integral type.
So why can a for loop that traverses a built-in array, which beginners have learned, be compiled.
such as:
int a[10] = {0};
// as we know ,i is a lvalue
for(int i = 0; i < 10; i++)
{
std::cout << a[i] << std:endl;
}