Qt 不同位数的编译器,指针的长度是不一样的
我是在windows下用MSVC2017 32bit的编译器编译程序,当我切换到linux下用gcc 64位的编译的时候。报错如下:
大体是类型转换时丢失精度,32位下指针变量是4个字节,64位下指针变量是8个字节。解决办法return QVariant((qulonglong)(listNode[index.row()].treeNode)); unsigned long long来进行转换,之后可以加宏来识别是什么操作系统。
我是在windows下用MSVC2017 32bit的编译器编译程序,当我切换到linux下用gcc 64位的编译的时候。报错如下:
大体是类型转换时丢失精度,32位下指针变量是4个字节,64位下指针变量是8个字节。解决办法return QVariant((qulonglong)(listNode[index.row()].treeNode)); unsigned long long来进行转换,之后可以加宏来识别是什么操作系统。