我使用CList来存储我的define节点 但编译器显示此错误C2228:'。AddTail'的左边必须有class / struct / union类型的消息 我不知道这个错误信息有什么问题。 我的代码如下
TCHAR title[MAX_LEN];
TCHAR titlestring[MAX_LEN];
process_node node1;
if (IsWindowVisible(hWnd))
{
int n=GetWindowText(hWnd, title, MAX_LEN-1);
if(n>0)
{
_tcsncpy_s(titlestring,_countof(titlestring),(LPCTSTR)lparam,_TRUNCATE);
_tprintf(_T("title=%s\n"),title);
}
if(_tcsstr(title,titlestring)!=NULL)
{
DWORD id=0;
TCHAR name[MAX_LEN];
if(hWnd)
{
GetWindowThreadProcessId(hWnd,&id);
GetProcessName(id,name);
node1.ProcessID=id;
node1.ProcessName=name;
ProcessList.AddTail(node1);
AfxMessageBox(_T("find"));
_tprintf(_T("title=%s,id=%ld,name=%s\n"), title,id,name);
return TRUE;//找完還要繼續找下一個因為有可能不只一個
}
}
}
return TRUE;
答案 0 :(得分:0)
ProcessList只是没有声明。 如果它确实在其他地方声明了你应该将#include添加到你的stdafx文件。
答案 1 :(得分:0)
你有这行代码:
ProcessList.AddTail(node1);
我的猜测是你需要这样的代码:
ProcessList myProcessList;
myProcessList.AddTail(node1);