D-Bus を介して通信する 2 つのプログラムがあります。1 つには 2 つのパラメーター、つまりconst char* data
andを受け取る関数がint size
あり、別のパラメーターには 型の値を返す関数がありますunsigned char
。このように最初のプログラムに関数呼び出しを配置しますが、サイズが異なる [-Wint-to-pointer-cast] の整数からポインターへのキャストへfunction((char*)program2->function().value(), 1)
の警告が表示されます。この警告を解決するにはどうすればよいですか? また、Qt ライブラリを使用しています。
編集:
実際には を受け取る関数で、 Qt によって提供されるコンストラクターの型のサイズと型const char*
を受け入れるint
にデータを追加し、他のプログラムは 0 ~ 255 の範囲の数値を返すことになっているため、. 私がしていることが間違っている場合、望ましい結果を得るための最良の方法は何ですか?QByteArray
const char*
int
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>();
}
注:この質問の主な目的は、プロキシクラス内で定義された関数を呼び出して返された結果への参照を作成する方法を見つけることであり、QByteArray
それを作成に受け入れられるものに変換する方法ではないため、QByteArray
またはQtCore
など。