我写了下面一段程序
Class A
{
protected:
CString str;
public:
void setstr(CString s)
{
str=s;
}
}在另一个函数中
void fun()
{
A a;
a.setstr(_T("abcd"));
}
当执行到类的成员函数对str赋值总是会在这里出现中断
CStringData* GetData() const throw()
主要是在str=s这个赋值语句上
str.Format(_T("%s"),s);这个方法也试过了,出现相同的结果,请大家帮我查一下原因,谢谢!
Class A
{
protected:
CString str;
public:
void setstr(CString s)
{
str=s;
}
}在另一个函数中
void fun()
{
A a;
a.setstr(_T("abcd"));
}
当执行到类的成员函数对str赋值总是会在这里出现中断
CStringData* GetData() const throw()
主要是在str=s这个赋值语句上
str.Format(_T("%s"),s);这个方法也试过了,出现相同的结果,请大家帮我查一下原因,谢谢!
{
str=s;
}
调试看一下看看s值是多少
void fun()
{
A *a;
a->setstr(_T("abcd"));
}
我是建立了一个指针,我也试过了不用指针是可以的,但是用指针就不行了,但是我必须用指针
void fun()
{
A *a = new A;
a->setstr(_T("abcd"));
}
void fun(A &a)
{
a.setstr(_T("abcd"));
}
这样如何?
哪有这样用指针的,多看看书吧,最基础的东西这是void fun()
{
A *a = new A;
a->setstr(_T("abcd"));
}
{
A *a = new A;
a->setstr(_T("abcd"));
}哈哈,就是这个原因