ошибка компиляции C2228: слева от .AddTail должен быть тип class / struct / union - PullRequest
0 голосов
/ 06 декабря 2010

Я использую CList для хранения моего узла определения, но компилятор показывает эту ошибку 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;

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

У вас есть эта строка кода:

  ProcessList.AddTail(node1);

Я думаю, вам нужно что-то вроде этой строки кода:

  ProcessList myProcessList;

  myProcessList.AddTail(node1);
0 голосов
/ 06 декабря 2010

ProcessList просто не объявлен.Если он объявлен где-то еще, вы должны добавить #include в ваш файл stdafx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...