Форум программистов, компьютерный форум CyberForum.ru

Инициализация членов структуры, как члена класса - C++

Восстановить пароль Регистрация
 
_mike
Сообщений: n/a
22.11.2012, 09:32     Инициализация членов структуры, как члена класса #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
struct MyElement {
  MyElement * next;
  MyElement * prev;
  string data;
};
 
class MyList {
 public:
  explicit MyList(){
    MyElement *head = new ListNode;
    head->next = 0;
    head->prev = 0;
    head->data = "";
    MyElement *tail = new ListNode;
    tail->next = 0;
    tail->prev = 0;
    tail->data = "";
    count      = 0;
  }
  void push_back(string indata){
    if(count == 0) {
      head->next = 0;
      head->prev = 0;
      head->data = indata;
      tail = head;
    } else {
      tail->data = indata;
      tail->prev = tail;
      tail->next = 0;
    }
   count++;
  }
 private:
  MyElement * head;
  MyElement * tail;
  int count;
};
 
int main(){
  MyList* list = new MyList;
  string buf[4] = {"this","prog","must","work!"};
  for(int i=0;i<4;i++) list->push_back(buf[i]);
  return 0;
}
При работе метода push_back вылетает ошибка Segmentation fault (core dumped), конкретно на строке head->next = 0;
Подскажите, в чем дело?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 09:32     Инициализация членов структуры, как члена класса
Посмотрите здесь:

C++ Инициализация членов класса нулями
Инициализация статических членов класса C++
C++ Инициализация членов структуры
C++ Инициализация константного статического объекта - члена класса
C++ Инициализация константы-члена класса
C++ Определить операторы как функции члена класса
C++ Инициализация static члена класса
Инициализация константного члена класса с проверкой значения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru