Я новичок в C ++, поэтому, пожалуйста, успокойтесь, у меня есть следующий класс:
class DATA
{
private:
char* Name;
char* Address;
int Id;
void initData(int size=200)
{
(this->Name)=(char*)malloc(sizeof(char)*size);
(this->Address)=(char*)malloc(sizeof(char)*size);
}
public:
void readData(void)
{
this->initData();
printf("Enter Name: "); scanf("%s\n",this->Name);
printf("Enter Address: "); scanf("%s\n",this->Address);
printf("Enter Id: "); scanf("%d\n",&(this->Name));
}
void printData(void)
{
printf("Name: %s",this->Name);
printf("Address: %s",this->Address);
printf("Id: %d",this->Id);
}
};
Но когда я инициализирую объект и затем вызываю методы publi c, происходит следующее:
Enter Name: John Doe
Enter Address: 53 Olive, St.
Segmentation fault (core dumped)
Итак, если кто-нибудь может сказать мне, почему (я знаю, что такое ошибка сегментации, но не понимаю, почему это здесь).