Привет!
В виндовом COM есть интерфейс IUnknown, от которого наследуются все остальные
интерфейсы. Если определить класс, унаследованный от нескольких интерфейсов
сразу, то у объектов этого класса можно вызывать AddRef/Release без каких-либо
преобразований. Hо при попытке передать указатель на объект в функцию, имеющую
параметром указатель на IUnknown, Visual C++ выдает ошибку "ambiguous
conversions from 'xxx *' to 'IUnknown *'".
Понятно, что он не может автоматически определить, какой именно из IUnknown
имеется в виду. Hо непонятно, как он тогда сам определяет, к которому из них
относятся вызовы AddRef/Release.
Всего доброго!
Евгений Музыченко
eu-...@muzy-chen-ko.net (все дефисы убрать)