Вы трижды ссылались на указатель.Один раз, когда вы рассматриваете его как массив и используете индекс [0]
, а затем еще два раза с оператором *
.Чтобы быть совместимым с var
, вы должны отменить ссылку только дважды.
Чтобы быть более точным, давайте разберем это:
ret
имеет тип IDirect3DSurface9***
. ret[0]
имеет тип IDirect3DSurface9**
. *(ret[0])
имеет тип IDirect3DSurface9*
. *(*(ret[0]))
имеет тип IDirect3DSurface9
.
И из этого следует, что *(*(ret[0]))
несовместимо с присвоением var
, имеющим тип IDirect3DSurface9*
.
Что касается того, каким должен быть ваш код, я не могу сказать наверняка,но вам нужно будет удалить один уровень косвенности.