{ ASSERT(m_pchData != NULL); return ((CStringData*)m_pchData)-1; }
不知道哪里错了,会出现这个错误。
当我在Dlg类中添加变量int nHeight1;int nWidth1;时程序一切正常没有问题,然后在添加变量int nHeight2;int nWidth2;,程序可以运行,但是在结束时会出现上面的问题。
如果我在dlg.CPP开头把变量声明成全局变量就没有这个错误,请问这是什么原因。
14 个解决方案
#1
这不能说明任何问题。。。
#2
UP~
#3
在线等啊……
#4
ASSERT(m_pchData != NULL);这个断言不过和你那几个变量没关系吧
#5
学习如果看 callstack 吧
#6
写错了,是学习如何看 callstack
#7
我在Dlg类中添加变量int nHeight1;int nWidth1;
然后int nHeight2;int nWidth2;只能声明成全局变量
郁闷
#8
好的,我去看看
#9
程序我找了另外一种方法实现了,但是我还是想知道这个原因是为什么。
求大侠带……
求大侠带……
#10
CString分配了CStringData和实际数据空间,但只用了一个指针m_pchData来记录,访问CStringData时是通过m_pchData-1来访问的。
#11
这里触发了这个断言,在不应为NULL的指针处为NULL了,这也看不出有啥问题嘛。
#12
自己顶一个
#13
怀疑你跨线程使用 CString ,或者其它问题;要想人帮你,还是上代码吧
#14
代码太长了,关键是我不知道哪一部分的问题……
我换了一种方法就把它解决了。
#1
这不能说明任何问题。。。
#2
UP~
#3
在线等啊……
#4
ASSERT(m_pchData != NULL);这个断言不过和你那几个变量没关系吧
#5
学习如果看 callstack 吧
#6
写错了,是学习如何看 callstack
#7
我在Dlg类中添加变量int nHeight1;int nWidth1;
然后int nHeight2;int nWidth2;只能声明成全局变量
郁闷
#8
好的,我去看看
#9
程序我找了另外一种方法实现了,但是我还是想知道这个原因是为什么。
求大侠带……
求大侠带……
#10
CString分配了CStringData和实际数据空间,但只用了一个指针m_pchData来记录,访问CStringData时是通过m_pchData-1来访问的。
#11
这里触发了这个断言,在不应为NULL的指针处为NULL了,这也看不出有啥问题嘛。
#12
自己顶一个
#13
怀疑你跨线程使用 CString ,或者其它问题;要想人帮你,还是上代码吧
#14
代码太长了,关键是我不知道哪一部分的问题……
我换了一种方法就把它解决了。