关于变量未声明的问题
我在TCPServerDlg.h头文件中定义了如下内容:
/////////////////////////////////////////////////////////////////////////////
// CTCPServerDlg dialog
#define WM_SOCKET WM_USER+10
void SockProcess(LPVOID pParam);
class CTCPServerDlg : public CDialog
{
// Construction
friend void SockProcess(LPVOID pParam);
public:
CTCPServerDlg(CWnd* pParent = NULL); // standard constructor
SOCKET sockServer,sockClient;
sockaddr_in addrClient,addrServer;
//struct sockaddr_in addr,add1;
CString str,str1;
CWinThread* SockThread; //报文接收子线程
int n;
我在TCPServerDlg.cpp文件中写了如下内容:
void SockProcess(LPVOID pParam)
{
CTCPServerDlg* pDlg = (CTCPServerDlg*)pParam;
int nlen = sizeof(addrClient);
sockClient = accept(sockServer,(sockaddr*)&addrClient,&nlen);
str1+=(LPTSTR)inet_ntoa(addrClient.sin_addr);
if (sockClient < 0)
{
str+="client socket error!\n\r";
GetDlgItem(IDC_TEXT)->SetWindowText(str);
}
}
编译过程中出现如下错误:
error C2065: 'addrClient' : undeclared identifier
error C2065: 'sockClient' : undeclared identifier
error C2065: 'sockServer' : undeclared identifier
error C2065: 'str1' : undeclared identifier
error C2228: left of '.sin_addr' must have class/struct/union type
error C2065: 'str' : undeclared identifier
error C2297: '+=' : illegal, right operand has type 'char [23]'
请问是什么原因造成的呢?