G>>Привет! G>>Xenia, если в будующем Вы все же соберетесь использовать CArray со строками (или другими структурами), G>>надо для структуры написать оператор присваивания, т.к. CArray внутри вызывает его при копировании.
X>Спасибо, я это уже поняла. Но по-моему надо определить еще конструктор копий. Или я ошибаюсь?
Нет необходимости — CArray его не использует. Разве что для красоты :-)
Кстати, не стесняйтесь заглядывать в исходники CArray и всего MFC — многое становиться понятно именно там.
Уже после своего ответа присмотрелся к Вашему коду и понял, что он (мой ответ) был не в тему — настоящую проблему указал Курилка, так что извините. Уже все работает? А то заполнение массива выделенными new элементами даже компилироваться, по идее, не должно :-)
Вообще, сваливать таким образом данные на диск не очень красиво. Что Вы будете делать когда завтра понадобиться добавить в info еще одно поле? А если Вы просто захотите добавить виртуальные функции к info, тогда измениться размер структуры и file.write(&info, sizeof(info)) потеряет смысл. Хотя, конечно, если это разовая работа, то заморачиваться такими вещами смысла действительно нет. А вот чтобы в "люди выйти" :-) привычка к хорошему стилю может пригодиться.