关于变量未声明的问题

ChandlerSQLee 2014-06-11 07:54:00
我在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]'

请问是什么原因造成的呢?
...全文
473 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChandlerSQLee 2014-06-12
  • 打赏
  • 举报
回复
头文件都是有的
ChandlerSQLee 2014-06-12
  • 打赏
  • 举报
回复
非常感谢,问题解决!
幻夢之葉 2014-06-12
  • 打赏
  • 举报
回复

CTCPServerDlg* pDlg = (CTCPServerDlg*)pParam;
int nlen = sizeof(addrClient);//这样子调用addrClient算什么?

int nlen = sizeof(pDlg->addrClient);//使用你参数的指针访问对象
幻夢之葉 2014-06-12
  • 打赏
  • 举报
回复
友元函数不可以直接使用私有成员吧,没对象或者指针怎么调用?!
mujiok2003 2014-06-11
  • 打赏
  • 举报
回复
+头文件
#include <winsock2.h>
了吗?
DMJZ 2014-06-11
  • 打赏
  • 举报
回复
友元函数好像是可以访问类的私有数据成员,但是貌似没有指定要访问的对象啊。 比如
ostream operator<<(ostream& os,MyClass& ClassA)
{
os<<ClassA.a<<endl;
return os;
}

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧