怪事?
在文档类中定义一个struct asd,用sizeof(struct asd)求其长度,编译说use of undefined type 'asd',咋办? 问题点数:20、回复次数:21Top
1 楼qqcc()回复于 2002-06-26 00:48:41 得分 0
please looking....Top
2 楼firstyi(请多指教)回复于 2002-06-26 08:15:36 得分 0
struct
{int i;char c;}aa;
sizeof(aa);Top
3 楼mbxxx(zhoutong)回复于 2002-06-26 08:30:43 得分 0
struct asd
{};
中asd只是一个声明;并不是定义;
要先定义才能用sizeof;
如:
asd yy;
sizeof(yy);
okTop
4 楼beijingshizi(北京石子)回复于 2002-06-26 08:44:21 得分 0
定义的不对啊老兄!Top
5 楼liu_feng_fly(笑看风云 搏击苍穹 衔日月)回复于 2002-06-26 08:45:55 得分 0
typedef struct _asd{...}asd;
Top
6 楼qqcc()回复于 2002-06-26 11:52:42 得分 0
我的asd在文档类中是这样定义的:
struct asd{
int m_n1;
int m_n2;
Cstring str3;
}Mysuzu;
但在view类中,如何无论也得不到Mysuzu的长度,帮忙啊!Top
7 楼qqcc()回复于 2002-06-26 21:42:04 得分 0
please lookingTop
8 楼qhq800(清风笑)回复于 2002-06-26 21:46:42 得分 0
你定义的是c还是c++Top
9 楼qqcc()回复于 2002-06-26 21:53:40 得分 0
C++Top
10 楼bugz(歪歪)回复于 2002-06-26 22:09:29 得分 0
你的结构定义是asd不是MysuzuTop
11 楼yanwuhuan(燕无欢)回复于 2002-06-26 22:16:57 得分 0
有没搞错啊,我怎么用怎么行
#include <stdio.h>
struct stABC
{
int i;
char a;
}abc;
//===================================
void main()
{
printf("%d\n", sizeof(struct stABC));
printf("%d\n", sizeof(abc));
}Top
12 楼qqcc()回复于 2002-06-26 22:22:10 得分 0
我用sizeof(int)也好使,可是在视类中一用sizeof(struct asd)就错,是不是视类得到文档类的struct型成员的方法不对,初学,请给指点Top
13 楼qqcc()回复于 2002-06-26 22:27:54 得分 0
sayTop
14 楼yanwuhuan(燕无欢)回复于 2002-06-26 22:38:40 得分 0
你这个struct是怎么定义的?文档类的内部?Top
15 楼cs_bobby()回复于 2002-06-26 22:48:41 得分 0
注意定义的是全局变量还是局部变量?是私有变量还是公有变量?Top
16 楼qqcc()回复于 2002-06-26 22:52:39 得分 0
在mmDoc.h中加入
public:
struct asd
{
CString m_strD3;
int m_nD2;
int m_nD1;
}Mysuzu;
在MmDoc.cpp中
CMmDoc::CMmDoc()
{
// TODO: add one-time construction code here
Mysuzu.m_nD1=0;
Mysuzu.m_nD2=0;
Mysuzu.m_strD3="dtx";
}Top
17 楼qqcc()回复于 2002-06-26 22:58:59 得分 0
在视类中使用int ff=sizeof(struct asd);编译出错,说use of undefined type 'asd',不解Top
18 楼haidaya(海大牙)回复于 2002-06-26 23:03:24 得分 0
老兄用的是什么编辑器呀,,
我的Turbo3.0可以呀!Top
19 楼qqcc()回复于 2002-06-26 23:10:06 得分 0
VC++6.0Top
20 楼qqcc()回复于 2002-06-26 23:18:53 得分 0
upTop
21 楼shilong(银羽 www.ylog.net)回复于 2002-06-26 23:25:50 得分 5
struct asd{
int m_n1;
int m_n2;
Cstring str3;
}Mysuzu;
asd中有一项CString
你用sizeof当然得不到了
你可以这样得到,
sizeof(int)*2+Mysuzu.str3.GetLength();Top
22 楼hjian79(健)回复于 2002-06-26 23:33:09 得分 15
因为你的结构是文档类的一个下级结构,试试:
sizeof(struct CMmDoc::asd);
Top




