class ContUser
{
char *display_Name;
char *email;
char password[10];
const int id_user;
char user_type;
int badges_nr;
char **badges;
ContUser(char *dn, char *e, char p[10],int id,char tip) : id_utilizator(id) {
display_Name = new char[strlen(dn) + 1];
strcpy(display_Name, dn);
email = new char[strlen(e) + 1];
strcpy(email, e);
}
};
我有一个错误:
display_Name 0xcccccccc错误读取字符串字符;
两个对象displayname
和email
,我无法理解为什么。 This is my error(无法读取内存)。
这是我创建ContUser实例的部分
void main()
{
ContUtilizator c2("Mariam31", "mariam@yahoo.com", "Passwordd", 12, 'V');
c2.display();
}
答案 0 :(得分:1)
您应该使用标准模板库重写该类。这可以针对您提供的代码段执行,如下所示:
class ContUser
{
std::string display_Name;
std::string email;
std::string password;
const int id_user;
char user_type;
int badges_nr;
std::vector< std::string> > badges;
ContUser(char *dn, char *e, char p[10], int id, char tip) : id_utilizator(id)
{
display_Name = std::string(dn);
email = std::string(e);
}
};