Почему делают IDL defaultvalue значения выглядит округленным?

У меня есть COM-объект с функцией с дополнительным последним аргументом. IDL немного похож на это:

interface ICWhatever: IDispatch
{
  [id(96)] HRESULT SomeFunction([in,defaultvalue(50.6)]float parameter);
};

Это хорошо работает: если я не указываю, что параметр, 50.6 заполнен в. Но в нескольких средах разработки (Excel VBA, VB6) значение по умолчанию округлено перед дисплеем. После ввода открытой фигурной скобки я вижу:

SomeFunction ([параметр как единственный = 51])

Кто-либо знает, почему это? Действительно ли это - ошибка? Это смутит клиентских программистов...

6
задан pnuts 26 October 2015 в 03:47
поделиться