c++ - operator TYPE () and taking the address of an object -


the atl class ccombstr has bstr member m_str , operator bstr () returns m_str.

now, if function takes bstr * argument, ok pass address of ccombstr?

ccombstr path; // signature izfilefinder::getdir(cy index, lpbstr path) filefinder->getdir(int64tocurrency(i), &path); 

the compiler doesn't complain, if ok, why work?

you not passing address of ccombstr, address of m_str member. ccombstr happens provide, among other things, operator&() returns &m_str.


Comments