Типизация DXVA2_Fixed32 для плавания в C ++ - PullRequest
1 голос
/ 22 марта 2012
DXVA2_Fixed32 a = DXVA2_Fixed32OpaqueAlpha();

    float f = (float)a;

Выдает ошибку компиляции

"ошибка C2440: невозможно преобразовать из" DXVA2_Fixed32 "в число с плавающей запятой.

Моя цель - присвоить значение "a" значению "f".

Может кто-нибудь любезно сообщить мне, как назначить переменную типа DXVA2_Fixed32 "a" переменной "float" f ".

Спасибо заранее.

1 Ответ

1 голос
/ 22 марта 2012

Вы не можете сделать это с помощью такого типа.Тип DXVA2_Fixed32 - это структура, содержащая два поля с дробными и целочисленными частями числа.

Вам необходимо вызвать DXVA2FixedToFloat для выполнения преобразования.

float f = DXVA2FixedToFloat(a);

Если вам когда-нибудь понадобится пойти в противоположном направлении, вы можете использовать предсказуемо названный DXVA2FloatToFixed.

...