Для проекта, который я делаю, мы должны заполнить очередь с объектами "дома". Объекты «Дома» получают свою информацию из файла под названием «data.dat». Каждая строка файла - это еще одна вещь, которая входит в объект дома. Итак, сначала я беру символ* для адреса, затем int, еще один int, третий int, а затем еще один char*. < /P>
нам не разрешено использовать строки, чтобы получить char* переменные, которые, я считаю, в том, где я сталкиваюсь с своей проблемой. Каждый раз, когда я составляю, это говорит мне, что у меня есть ошибка сегментации. Вот область моей очереди. #include"queue.h"
#include
#include
#include
Queue::Queue(const char *filename){
head = NULL;
tail = NULL;
std::ifstream infile(filename);
char * address = NULL;
int footage = 0;
int bedrooms = 0;
int bathrooms = 0;
char * features = NULL;
while(!infile.eof()){
while(infile.get() != '\n'){
//std::cout > footage >> bedrooms >> bathrooms;
while(infile.get() != '\n'){
infile.get(features);
}
enqueue(House(address, footage, bedrooms, bathrooms, features));
}
infile.close();
}
< /code>
Вот файл заголовка объекта дома: < /p>
House();
House(char * ad, int fo, int be, int ba, char * fe);
char * getAddress();
int getFootage();
int getBedrooms();
int getBathrooms();
char * getFeatures();
void setAddress(char * ad);
void setFootage(int fo);
void setBedrooms(int be);
void setBathrooms(int ba);
void setFeatures(char * fe);
friend std::ostream& operator
Подробнее здесь: https://stackoverflow.com/questions/336 ... able-types