我的做了一个类,里面有CString 对象.并且在构造函数中对他赋值,但出现错误,望大家指教

来源:百度知道 编辑:UC知道 时间:2024/06/04 14:48:06
#include <afx.h>

class YpSet
{
public:
YpSet(CString name=NULL)
{
Name=name; //按钮名字
}
private:
CString Name;
};
/*错误提示
d:\vc++\ypprogram\runsoftware\cset.h(3) : error C2146: syntax error : missing ',' before identifier 'name'
d:\vc++\ypprogram\runsoftware\cset.h(4) : error C2504: 'name' : base class undefined*/

CString name=NULL =是重载符
operator= 无法对NULL进行重载

因此要使用指针来解决这个问题
class YpSet
{
public:
YpSet(CString *name=NULL)
{
Name=*name; //按钮名字
}
private:
CString Name;
};

外部调用
CString name= "abc";
YpSet s(&name);

YpSet(CString name="")