编译提示出错.求解.

iwkoo 2011-09-29 09:33:18
#ifndef _ACCOUNT_H_
#define _ACCOUNT_H_

struct Account{
int AccNum;
CString name;
CString nick;
CString pass;
CString phone;
CString birth;

char sex[2];

Account()
{
memset(sex,0,sizeof(sex));
}
};

#endif
//----------------------------------------------------------------------
我在一个类的私有成员中定义了一个
_REGISTERDLG_H_
private:
Account account;
//----------------------------------------------------------------------
_REGISTERDLG_H_
CString m_RName 类型,
account.name = m_RName;

两台不同的电脑,用VC6.0调试,一个正常,一个一个提示出错.
编译通过,可是调试过程 中走到这边提示出错.
...全文
86 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lazy_2010 2011-09-29
  • 打赏
  • 举报
回复
能不能说得详细些,出的什么错误提示信息啊?
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 chouxiaoya8100 的回复:]

lz 用其他来代替 , CString 放在结构体里面会有问题,,


有次发帖问人,也没有人说出个所以然来
[/Quote]
我把Account account 放到public 里面就没出问题,
放到另外一台电脑也没问题.
这是什么问题?
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lazy_2010 的回复:]

悲哀,看错了,只是对于 char 执行 memset,似乎没问题;

在执行 account.name = m_RName; 之前使用 ASSERT(_CrtCheckMemory()); 检查一下内存试试看
[/Quote]

加了,貌似没发现提示什么
chouxiaoya8100 2011-09-29
  • 打赏
  • 举报
回复
lz 用其他来代替 , CString 放在结构体里面会有问题,,


有次发帖问人,也没有人说出个所以然来
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 taodm 的回复:]

囧,楼主到底学过c++没有啊?
引用 6 楼 iwkoo 的回复:
引用 4 楼 lazy_2010 的回复:

带有 CString 的结构都不能简单使用 memset


问题不在那边......
[/Quote]

刚刚学.不知道哪里有问题
lazy_2010 2011-09-29
  • 打赏
  • 举报
回复
悲哀,看错了,只是对于 char 执行 memset,似乎没问题;

在执行 account.name = m_RName; 之前使用 ASSERT(_CrtCheckMemory()); 检查一下内存试试看
taodm 2011-09-29
  • 打赏
  • 举报
回复
囧,楼主到底学过c++没有啊?
[Quote=引用 6 楼 iwkoo 的回复:]
引用 4 楼 lazy_2010 的回复:

带有 CString 的结构都不能简单使用 memset


问题不在那边......
[/Quote]
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chouxiaoya8100 的回复:]

楼上的没有认真回答楼主的问题


CString作为结构体或者类的成员, 赋值的时候,很容易出错,以前就出国类似问题。。。。
[/Quote]
求解.
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lazy_2010 的回复:]

带有 CString 的结构都不能简单使用 memset
[/Quote]

问题不在那边......
chouxiaoya8100 2011-09-29
  • 打赏
  • 举报
回复
楼上的没有认真回答楼主的问题


CString作为结构体或者类的成员, 赋值的时候,很容易出错,以前就出国类似问题。。。。
lazy_2010 2011-09-29
  • 打赏
  • 举报
回复
带有 CString 的结构都不能简单使用 memset
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

memset(sex,0,sizeof(sex));
这个有问题吧,你应该是设置2个char的长度,sizeof(sex)和2*sizeof(char)可是两个东西
[/Quote]

这个没问题..
iwkoo 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

memset(sex,0,sizeof(sex));
这个有问题吧,你应该是设置2个char的长度,sizeof(sex)和2*sizeof(char)可是两个东西
[/Quote]

这个没问题..
bdmh 2011-09-29
  • 打赏
  • 举报
回复
memset(sex,0,sizeof(sex));
这个有问题吧,你应该是设置2个char的长度,sizeof(sex)和2*sizeof(char)可是两个东西

64,652

社区成员

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

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