我在全球范围内从班级创建了 QList 。
的 global.h:
class CLastMessage
{
public:
QString id;
QString message;
};
typedef QList<CLastMessage> CLastMessageList;
我在另一个标题中调用它:
的 message.h:
CLastMessageList m_lastMessage;
但我在向此Qlist添加新值时遇到问题。在 message.cpp 我想添加新的ID和消息,但我不知道如何以最佳方式执行此操作。例如,我想在此列表中添加新ID。这是对的吗?
的 message.cpp:
CLastMessageList m_lastMessage;
m_lastMessage.id = "1";
答案 0 :(得分:4)
您的自定义类目前是可分配的,因此您不需要显式的复制构造函数或赋值运算符。
问题是如何将项目添加到列表中:
CLastMessageList m_lastMessage; // this is declaring a new list
m_lastMessage.id = "1"; // this is invalid, as id is not a property of QList
此代码重新声明列表的对象(m_lastMessage)。然后,您尝试将变量设置为列表,但id不是列表的成员,而是可以存储在列表中的对象的成员。因此,首先创建一个对象,然后将其添加到列表中:
CLastMessage message;
message.id = "1";
m_lastMessage.append(message);