这些语句我不太明白,请帮我解释一下,谢谢!

jngxx 2002-09-04 04:13:30
.h文件
struct response_code
{
UINT nResponse;
TCHAR* sMessage;
}; //结构

enum eResponse
{
GENERIC_SUCCESS=0,
CONNECT_SUCCESS,
DATA_SUCCESS,
QUIT_SUCCESS,
LOGIN_SUCCESS,
//在此可以添加其他的响应
LAST_RESPONSE
}; //Q1.枚举值是数值型,从0加1吗?

static response_code response_table[]; //Q2.这是声明的什么呀?结构和数组放在一起?

.cpp文件
CSMTP::response_code CSMTP::response_table[]=
{
{250,"SMTP server error"},
{220,"SMTP server not available"},
{354,"SMTP server not ready for data"},
{221,"SMTP server didn't terminate session"},
{334,"SMTP server not login"}
}; //Q3.看不懂怎么赋值?
...全文
28 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SHIZUMARU 2002-09-04
  • 打赏
  • 举报
回复
送了你1000可用分,呵呵。
vixkywx 2002-09-04
  • 打赏
  • 举报
回复
Q1: 枚举的默认值从最后一个确定值依次加1
Q2:声明了页个静态的类内结构数组
类中的静态成员共享数据,不管几个对象都一样
Q3:静态类成员必须在外部初始化
例如:
class interger{
public :
static int i;
}
.cpp 中必须有
int i =1;这类的初始化

因为正常的变量能靠构造函数初始化
static的不能,如果用构造函数初始化,那么静态数据会被重复初始化
所以c++要求在外部初始化
jngxx 2002-09-04
  • 打赏
  • 举报
回复
我不要可用分,我要专家分,带星的那种。
SHIZUMARU 2002-09-04
  • 打赏
  • 举报
回复
呵呵,要不要我捐赠点可用分给你呀?我这里2000多可用分,送你500吧。

兄弟就差100分升四星了,嘿嘿。
jngxx 2002-09-04
  • 打赏
  • 举报
回复
明白了,以为难度挺大呢,早知道不放那么多分拉。
SHIZUMARU 2002-09-04
  • 打赏
  • 举报
回复
再解释一下A3:

你可以用{250,"SMTP server error"}给一个response_code结构体赋初值,该结构体的第一个成员nResponse得到250这个值,第二个成员sMessage得到"SMTP server error"这个值(实际上是字符串的首地址)。

现在应该懂了吧?给分。
white_whan 2002-09-04
  • 打赏
  • 举报
回复
1、顺延加1
2、申明一个结构数组
3、内部的每个大括号对应一个结构值

多看看基础书吧!
SHIZUMARU 2002-09-04
  • 打赏
  • 举报
回复
A1:正确。CONNECT_SUCCESS==1,DATA_SUCCESS==2,类推。

A2:声明了一个response_code类型的数组,该数组名为response_table,但该数组未初始化。

A3:初始化response_table数组。每个条目(例如{250,"SMTP server error"})代表一个response_code结构体实例。初始化完成之后,response_table数组中有5个response_code结构体实例。

谢谢100分。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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