【发布时间】:2012-11-02 14:26:16
【问题描述】:
我有以下变量:
UWORD64 length;
UWORD32 thumbnail_offset;
UWORD32 thumbnail_length;
UWORD64 sum;
这就是我想做的:
sum = (UWORD64)(thumbnail_offset + thumbnail_length);
main_image_length = (UWORD32)(length - sum);
但是,第一行给了我错误:conversion to non-scalar type requested
第二行给了我错误:invalid operands to binary - (have 'UWORD64' and 'UWORD64')
我不明白问题出在哪里。不应该提升低等的类型吗?为什么这会引起问题?
【问题讨论】:
-
UWORD64是一个结构吗?否则您的代码应该可以正常工作。 -
糟糕,是的,它是一个结构!
-
在这种情况下我将如何处理?
-
定义该结构的人可能还定义了一些函数来对其进行操作。如果没有,您将不得不自己编写。
标签: c operators type-conversion binary-operators