Возьмем простой пример:
_bstr_t smartString(L"MyString");
Process(smartString); // takes BSTR.
Изначально я думал, что в _bstr_t есть оператор BSTR, преобразующий из _bstr_t в BSTR, но, глядя на msdn , такой оператор не определен.
Как это работает, когда передается _bstr_t для параметра BSTR или _variant_t для VARIANT?