im new to programming and just start learning C++ a few weeks, im current doing the random number stuff, but i don't understand why the parameters sometime has "()" and sometime doesn't, hope someone can explain to me, thanks!.
int main()
{
    random_device rd;
    mt19937 rdn(rd()); //Why this parameter needs "()"?
    uniform_int_distribution<int> maxrd(1, 5000);
    
    int n = maxrd(rdn); //And why this parameter doesn't need "()"?
    cout << n;
};
 
    