Sorry, if I wasn't clear. I made two suggestions to solve your problem and the longer i think about the first one the less I like my own solution. Because it would work in another way than the standard library and thus may confuse readers of your code.
I as an user of your binary heap would expect that the implementations calls operator<(T, T) for all possible T in the same way.