【发布时间】:2016-07-12 12:07:17
【问题描述】:
我想做的是;在多线程环境中的文本文件中存储一些字符串值。 然后我将每个字符串值存储在一个队列中,然后逐步读取该队列并将该值写入文本文件。
我在MSDN 中看到了一些关于队列 的示例。从那个例子中我做了一些改变并创建了这个代码段来存储CString值。但是我不能从这个代码中实现它。
class CQueue :public CTypedPtrList < CObList, CString* >
{
public:
void AddToEnd(CString* newLog) {
AddTail(newLog);
}
CString* GetFromFront() {
return IsEmpty() ? NULL : RemoveHead();
}
};
然后我尝试这样调用:
CQueue q;
CString str("data1");
q.AddToEnd(&str);
报这个错误:
'void CObList::AddTail(CObList *)' : cannot convert argument 1 from 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> ' to 'CObject *'
在 MFC 中实现队列的最佳方式是什么?
【问题讨论】:
标签: c++ multithreading mfc