What is wrong with this code?
ListADT& ListADT::operator=(ListADT& l2)
{
    ListADT l3;
    for (int i = 0; i < l2.l_size(); i++)
    {
        l3.push_back(l2[i]);
    }
    
    return l3;
} 
It continuously gives me this error:
ListADT.cpp:257:13: warning: reference to local variable ‘l3’ returned [-Wreturn-local-addr]
  257 |      return l3;
      |             ^~
ListADT.cpp:245:14: note: declared here
  245 |      ListADT l3;
      |              ^~
 
     
    