我定义了个结构体:
typedef struct student
{
CString csCode;
CString csName;
CString csSex;
CString csAge;
CString csDept;
struct student *next;
}student,*linklist;
然后在MFC里面给结构体的变量赋值:CString str("test");
structStudent[1].csCode= str;可是会出问题:
Debug Assertion Failed!
Expression:_CrtIsValidHeapPointer(pUserData)调试时问题出在CString的赋值函数里面:const CString& CString::operator=(const CString& stringSrc)
{
if (m_pchData != stringSrc.m_pchData)//DEBUG调试停在这里
{
难道我这样赋值不对吗??
请各位大牛指教!!!
typedef struct student
{
CString csCode;
CString csName;
CString csSex;
CString csAge;
CString csDept;
struct student *next;
}student,*linklist;
然后在MFC里面给结构体的变量赋值:CString str("test");
structStudent[1].csCode= str;可是会出问题:
Debug Assertion Failed!
Expression:_CrtIsValidHeapPointer(pUserData)调试时问题出在CString的赋值函数里面:const CString& CString::operator=(const CString& stringSrc)
{
if (m_pchData != stringSrc.m_pchData)//DEBUG调试停在这里
{
难道我这样赋值不对吗??
请各位大牛指教!!!
解决方案 »
- 代码是从VC6移植到VS2008,请问出现这种类型的错误怎么改呢?
- 调试的时候,界面关了
- 如何用edit control 控件显示16进制数
- 谁知道关于调用输入法的的api函数及用法。。。。。。。在线等待
- 请问如何将toolbutton按纽变灰??
- 请教一个很简单的问题...
- skinplusplus添加完皮肤,只要对画框动作,系统内存就涨
- 我刚开始学VC请问如何将一个控件的字体变大,如何设置? 谢谢。
- CStatusDlg CStatusDlg(this)是什么意思?谢谢您!!!
- ......疯子送分:我的全屏程序退出后在任务栏上留个虚框,请高手指点.......
- ListControl如何直接在列表上编辑数据
- 关于OnRButtonDown的奇怪问题
structStudent[1].csCode= str; 其中structStudent 是个什么样的数组?
是new分配的吗?
有没有初始化?
CString str("test");
structStudent[1].csCode= str;
那个是对象``````````````
用char * 或者[]
```````
这样CString成员才会执行构造函数进行初始化
使用指针,是最好的选择.student structStudent[10];
CString str("test");
structStudent[1].csCode= str
是因为你先确定了数组的大小,而 CString本身是一个char* 数组
如果是你使用CArray时,使用Add的方法加入数据,肯定挂.
可先SetSize,然后在调用,就没问题.