Russian Qt Forum
Ноябрь 24, 2024, 03:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Почему сегфолт в деструкторе?  (Прочитано 10271 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #15 : Январь 17, 2016, 16:31 »

А что значит запись?
class EditorToolBar : public QWidget
{
public:
  // ...
  QToolButton   *bold=NULL;    // <==
  //...
};
У меня компиль выдаёт предупреждение
Цитировать
in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
и я её не понимаю.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #16 : Январь 17, 2016, 16:32 »

Кажется имеется в виду, что это фича из стандарта c++11, а проект не настроен на c++11
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #17 : Январь 17, 2016, 16:36 »

Благодарю, буду разбираться. Я такой сжатый отчет никак не мог получить.
Записан

Собираю информацию по крупицам
http://webhamster.ru
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #18 : Январь 17, 2016, 16:38 »

xintrea, я уже писал в ЛС, но вы не ответили. Можно ваш скайп?
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #19 : Январь 17, 2016, 16:40 »

А что значит запись?

  QToolButton   *bold=NULL;    // <==

Я долго разбирался с этим:

Почему в заголовке можно инициализировать тип указателя, но нельзя инитить переменные?

К однозначному выводу не пришли. Вроде как для указателей это можно делать.

Записан

Собираю информацию по крупицам
http://webhamster.ru
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #20 : Январь 17, 2016, 16:43 »

xintrea, я уже писал в ЛС, но вы не ответили. Можно ваш скайп?

Ответил. Мне раз два года если кто пишет, то хорошо, вообще на личку внимания не обращаю.
Записан

Собираю информацию по крупицам
http://webhamster.ru
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #21 : Январь 17, 2016, 16:50 »

Кажется имеется в виду, что это фича из стандарта c++11, а проект не настроен на c++11

Я когда разбирался, понял, что правильнее будет пользоваться списком инициализации.

Но со списком инициализации все не слава богу. В нем нужно следить за порядком инициализации. Если порядок инициализации будет не соответствовать порядку определений в классе, будут феерические глюки:

Код:
class Test {
    // Порядок объявления членов класса
    int b;
    int a;
public:
    Test(int x) : a(x), b(a) {}; // Нарушен порядок
};

Создавать еще одну точку возможного отказа как-то не хочется.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #22 : Январь 17, 2016, 17:37 »

..будут феерические глюки:
Примерчик наверняка с хабра - меньше читайте эту муть  Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.