Все, что я хочу, это хранить несколько массивов символов в качестве данных элемента в приватном поле моего класса FileIO. По какой-то причине у меня может быть один массив char, и он отлично работает, но вскоре, когда я добавлю второй, я получаю ошибку, указанную в названии.Класс 'FileIO' имеет незаконный массив нулевого размера; Множественные строки символов как проблема с данными членов
Этот код работает отлично:
class FileIO
{
private:
char accNum[];
public:
FileIO();
~FileIO();
void WriteData(Account*);
void WriteData(Person*);
void ReadData(Account*);
};
Этот код выдает ошибку:
class FileIO
{
private:
char accNum[];
char persName[];
public:
FileIO();
~FileIO();
void WriteData(Account*);
void WriteData(Person*);
void ReadData(Account*);
};
accNum [] используется в ReadData (счета *) функции для хранения одного символа, извлеченной из текстовый файл с помощью getline(). Вот код, который:
void FileIO::ReadData(Account * acc)
{
ifstream accFile("accInfo.txt");
accFile.getline(accNum, 100);
cout << accNum << "\n";
accFile.close();
}
Есть несколько строк в одном текстовом файле, который я хочу, чтобы хранить в отдельных символьных массивов, но как вы можете видеть, я могу по-видимому, только один массив в качестве переменной-члена класс FileIO. Почему это?
Работал отлично. Благодаря! – brysonmay15