⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_62609.htm

📁 vc
💻 HTM
字号:
<p>
序号:62609 发表者:oldwolf 发表日期:2003-11-27 17:33:51
<br>主题:关于结构体中的数组问题
<br>内容:各位大吓:<BR>&nbsp;&nbsp;&nbsp;&nbsp;你们好! 我有一个结构体,其中包括一个数组,我想访问数组里面的元素时,编译时说没有该变量,请问是怎么回事。具体情况如下:<BR>结构体:typedef struct<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned int&nbsp;&nbsp;&nbsp;&nbsp;nMsgType:8;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Payload type<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned int&nbsp;&nbsp;&nbsp;&nbsp;nFileTotalNum:8;&nbsp;&nbsp;// File total number<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned int&nbsp;&nbsp;&nbsp;&nbsp;nFileNo[16];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// file number code<BR>} MSG_HEADER1, *PMSG_HEADER1;<BR><BR>访问时用语句<BR>&nbsp;&nbsp; for(int i=0;i&lt;nPortCount;i++)<BR>&nbsp;&nbsp;pMsg-&gt;nFileNo[i] = (unsigned int)nPortNum[i];//(其中pMsgS是结构体变量<BR>编译错误为:<BR>'nFileNo' : is not a member of 'MSG_HEADER1'<BR>请各位说说这是咋回事,并且请问怎样才能得到数组里的元素
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:golen 回复日期:2003-11-27 17:41:02
<br>内容:pMsg-&gt;nFileNo[i]<BR>是不是要写成<BR>pMsg.nFileNo[i] <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:oldwolf 回复日期:2003-11-27 19:31:06
<br>内容:楼上的兄弟,我可能没有给你说清楚,pMsg是结构体的指针变量,我用过成员变量,就是象你所说的那样,不行。但是我把该结构体用在一个简单的C++程序里(即只有主函数)运行正确。所以,我也不止到是怎么回事。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-11-28 15:53:57
<br>内容:你那个pMsg是个指针,该指针不能直接就调用该类的成员变量。你为他赋初值了吗?即光声明一个该类型的指针不行,必须得声明一个该类的对象,这样,才能为该结构体各个成员赋值。<BR><BR>&nbsp;&nbsp; 对了,&nbsp;&nbsp;<BR>unsigned int&nbsp;&nbsp;&nbsp;&nbsp;nMsgType:8;&nbsp;&nbsp;&nbsp;&nbsp;<BR> 后面的:8 是什么意思?&nbsp;&nbsp;请告知! 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:gws 回复日期:2004-01-09 11:11:13
<br>内容:如果是全局变量的话,声明和使用不在一个文件中,在使用的文件中用EXTERN 再次引用,此时应该把结构体中的所有成员重新全部写过,不能只引用结构体变量名。否则则认为此结构体在此文件中不含有该成员。<BR>重新写过后则没有任何问题。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tiger shi 回复日期:2004-01-13 10:28:18
<br>内容:unsigned int&nbsp;&nbsp;&nbsp;&nbsp;nMsgType:8;&nbsp;&nbsp; <BR>后面那个8的意思是,这个变量是unsigned int,但只给这个变量分配8位长度,这样可以节约空间。一个unsigned int一般是32位,这样其他的24位还可以存放别的内容。<BR><BR>用PMSG_HEADER1之前是不是要先定义一下:PMSG_HEADER1 pMsg。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2004-01-13 14:49:10
<br>内容:谢谢tiger shi !&nbsp;&nbsp;为感谢您的答案,特献上一个笑话。<BR><BR>有家妓院倒闭了,拍卖所有的东西,有个小伙买了一只鹦鹉回家。 <BR>回到家里,鹦鹉开始说话了:“环境变了,环境变了” <BR>小伙的母亲听到后便走到客厅,鹦鹉又说道:“老板娘换了,老板娘换了。” <BR>小伙的姐姐听到后,也来到客厅,鹦鹉又说:“小姐也换了,小姐也换了。” <BR>小伙的父亲也来到客厅,鹦鹉叫道:“老嫖客没变,老嫖客没变!”...... <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -