assignment operator within function parameter C++
I'm studying data structures (List, Stack, Queue), and this part of code is confusing me. ListNode( const Object& theElement = Object(), ListNode * node = NULL); template<class Object> ListNode<Object>::ListNode( const Object& theElement, ListNode<Object> * node) { element = theElement; next = node; } Why there are assignment operators within function parameters? What does Object() call do? Charles Salvia Those are not assignment operators. Those are default arguments for the function. A function can have one or more default arguments , meaning that if, at the calling point, no argument is