Тема: Зачистка рядка двовимірного динамічного масиву який є в структурі
Допоможіть зачистити рядок двовимірного динамічного масиву символів який знахходиться в структурі. В даному випадку це
a.name[i]та інші. Функція Sort має сортувати мою структуру за
а.area[i]яке вводиться числом. Функція AddNew додає елементи(я її вставив для повноти картини). Як видно в коді я написав
a.name[i] = "";але мені вибиває помилку.
struct Factory
{
    char** name;
    char** ownership;
    char** area;
    char** workers;
};
void Sort(int size, Factory& a)
{
    if (size > 1)
    {
        for (int i = 0; i < size - 1; i++)
        {
            if (atof(a.area[i]) > atof(a.area[i + 1]))
            {
                char* temp1 = new char[50];
                char* temp2 = new char[50];
                char* temp3 = new char[50];
                char* temp4 = new char[50];
                strcpy(temp1, a.name[i]);
                strcpy(temp2, a.ownership[i]);
                strcpy(temp3, a.area[i]);
                strcpy(temp4, a.workers[i]);
                //a.name[i] = "";
                strcpy(a.name[i], a.name[i + 1]);
                strcpy(a.ownership[i], a.ownership[i + 1]);
                strcpy(a.area[i], a.area[i + 1]);
                strcpy(a.workers[i], a.workers[i + 1]);
            }
        }
    }
}
void AddNew(int& size, Factory& a)
{
    size++;
    char** temp = new char* [size];
    char** temp1 = new char* [size];
    char** temp2 = new char* [size];
    char** temp3 = new char* [size];    
    for (int i = 0; i < size; i++)
    {
        temp[i] = new char[50];
        temp1[i] = new char[50];
        temp2[i] = new char[50];
        temp3[i] = new char[50];        
    }
    for (int i = 0; i < size - 1; i++)
    {
        strcpy(temp[i], a.name[i]);
        strcpy(temp1[i], a.ownership[i]);
        strcpy(temp2[i], a.area[i]);
        strcpy(temp3[i], a.workers[i]);
    }
    cout << "Enter the factory name: ";
    cin >> temp[size - 1];
    cout << "The types of property: N - national, P - private, C - cooperative";
    cout << "\nEnter the type of property: ";    
    cin >> temp1[size - 1];
    cout << "Enter the area of land(hectares): ";
    while (MyAudit(temp2[size - 1]) != true)
    {
        cout << "\nError! Enter a correct value: ";
        cin.ignore();
        cin >> temp2[size - 1];
    }    
    cout << "Enter the number of workers: ";    
    while (MyAudit(temp3[size - 1]) != true)
    {
        cout << "\nError! Enter a correct value: ";
        cin.ignore();
        cin >> temp3[size - 1];
    }        
    a.name = temp;
    a.ownership = temp1;
    a.area = temp2;
    a.workers = temp3;    
}