在 cpp 中将 int16 转换为 double
Cast int16 to double in cpp
我正在尝试使用 mydouble = (double) myInt16;
将 qint16
(int16
) 转换为 double
,然后我得到
error: invalid cast from type 'qint16* {aka short int*}' to type 'double'
如何将 int16
转换为 double
?
根据您显示的代码,您没有 int
。您有一个指向 int
的指针。取消引用它,如下所示:
// Assume src points to a short int
double mydbl = *src;
从整数到双精度的转换将自动进行,但您必须取消引用指针。
从错误来看,myInt16
是指向short int
的指针。所以只需使用:
double mydouble = *myInt16;
并且short int
会自动提升为双倍
我正在尝试使用 mydouble = (double) myInt16;
将 qint16
(int16
) 转换为 double
,然后我得到
error: invalid cast from type 'qint16* {aka short int*}' to type 'double'
如何将 int16
转换为 double
?
根据您显示的代码,您没有 int
。您有一个指向 int
的指针。取消引用它,如下所示:
// Assume src points to a short int
double mydbl = *src;
从整数到双精度的转换将自动进行,但您必须取消引用指针。
从错误来看,myInt16
是指向short int
的指针。所以只需使用:
double mydouble = *myInt16;
并且short int
会自动提升为双倍