我有两个通过 D-Bus 进行通信的程序。在其中一个函数中,有一个接受两个参数的函数,const char* data
在int size
另一个函数中,我有一个返回 type 值的函数unsigned char
。我在这样的第一个程序中放置了一个函数调用,function((char*)program2->function().value(), 1)
但是我得到了从不同大小的整数 [-Wint-to-pointer-cast] 转换为指针的警告。我应该如何解决这个警告?我也在使用 Qt 库。
编辑:
实际上在接受 的函数中const char*
,int
我将数据附加到QByteArray
接受const char*
的 a 和 Qt 提供的构造函数中的类型大小,int
另一个程序应该返回 0-255 范围内的数字,因此unsinged char
. 如果我所做的是错误的,那么获得预期结果的最佳方法是什么?
还调用 program2->function 调用以下内容:
inline QDBusPendingReply<uchar> type()
{
QList<QVariant> argumentList;
return asyncCallWithArgumentList(QLatin1String("type"), argumentList);
}
这个类有一个名为 value() 的函数,它调用:
inline typename Select<0>::Type value() const
{
return argumentAt<0>();
}
注意:我这个问题的主要目的是找到一种方法来创建对调用代理类中定义的函数的返回结果的引用,而不是如何将其转换为可以接受的东西以创建 aQByteArray
所以请停止添加不相关的标签,例如QByteArray
或QtCore
等等。