Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将指针追加到Qlist_C++_Qt_Pointers_Append_Qlist - Fatal编程技术网

C++ 将指针追加到Qlist

C++ 将指针追加到Qlist,c++,qt,pointers,append,qlist,C++,Qt,Pointers,Append,Qlist,这是我在这里的第一篇帖子 我正在编写一段代码,解析Json以填充我附加到要运行的测试的Qlist中的结构 我的问题是结构中的有效负载:当我发送列表中的第一个对象时,有效负载在应该为空时不是空的 struct FrameTest { QString protocol; QString Length; QByteArray *payload; }; QList<FrameTest> _validTestLists; FrameTest TxFrame; 通过C

这是我在这里的第一篇帖子

我正在编写一段代码,解析Json以填充我附加到要运行的测试的Qlist中的结构

我的问题是结构中的有效负载:当我发送列表中的第一个对象时,有效负载在应该为空时不是空的

struct FrameTest {
    QString protocol;
    QString Length;
    QByteArray *payload;
};

QList<FrameTest> _validTestLists;
FrameTest TxFrame;
通过COM端口发送的函数

bool Cesa::Test(FrameTest frame)
{
QByteArray txFrame;

/* Transmit command */
txFrame.insert(0, frame.protocol);
txFrame.insert(2, frame.Length);
txFrame.insert(4, *frame.payload);

_comPort->write(QByteArray::fromHex(txFrame));
}

我是一名仍在学习编码的学生,任何帮助和建议都将不胜感激:)

1)在您的结构中,您应该使用
QByteArray
而不是
QByteArray*
。2) 发送前,应检查
txFrame
值。我认为没有你所期望的。3)
QByteArray::fromHex
调用看起来很奇怪-你想在那里做什么?1)我正在跟随另一个线索,但感谢我将更改为QByteArray-只是为了让你知道我不再填充QList,我将使用一个QMap,它将保存稍后由执行者调用的函数(例如:Exia)的名称。当我使用Exia函数时,我将填充一个新的FrameTest对象,该对象将通过COM端口发送。2) 我的txframe值是正确的,为什么这样认为?3) 这是我从之前参与这个项目的学生那里得到的一些代码:我认为她这样做是有原因的,但可能是错误的。所以,你写了一个代码,但你不知道你为什么这么做,这个代码在做什么。尝试删除您随机编写的任何内容,并向自己解释每行代码。然后你会发现你的错误。
bool Cesa::Test(FrameTest frame)
{
QByteArray txFrame;

/* Transmit command */
txFrame.insert(0, frame.protocol);
txFrame.insert(2, frame.Length);
txFrame.insert(4, *frame.payload);

_comPort->write(QByteArray::fromHex(txFrame));
}