![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
OLAND |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 25.3.2010 Пользователь №: 1564 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
есть ли какие то требования к построению классов в GCC и Qt lib
дело в том что не раз заметил уже что очень важно порядок определения переменных например
например в этом случае может случится что при передачи ссылки на этот класс она потеряется. например в программе
а если поменять местами QString и Int то все работает один раз заметил что при вставке int определения в определеное место происходила ошибка Windows например в классе было
достаточно было поменять местами. это нормально для Qt? или это GCC?
Причина редактирования: пользуйся тегами!
|
|
|
Rocky |
![]()
Сообщение
#2
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Что значит ссылка потеряется? Покажи больше кода. То о чем ты спрашиваешь - нет, это не нормально. Такого не должно быть.
Сообщение отредактировал Rocky - 16.12.2010, 14:04 |
|
|
OLAND |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 25.3.2010 Пользователь №: 1564 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Нашел откуда ноги растут у этой проблемы коегде обявлено #pragma pack(2). поставил в конце #pragma pack(nopack)
|
|
|
BRE |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Если меняешь выравнивание, то лучше использовать следующую конструкцию:
|
|
|
OLAND |
![]()
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 25.3.2010 Пользователь №: 1564 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ага спасибо
|
|
|
wiz29 |
![]()
Сообщение
#6
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
А что у тебя в этом случае в переменной str?
|
|
|
OLAND |
![]()
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 25.3.2010 Пользователь №: 1564 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
не уверен но помоему суть содержит . по крайней мере строка какаято была не обращал внимания. это с любым классом начинается . если перед переменной. Однажды говорю было что стоял int где то там поменял все прошло. а сегодня опять подобное начал рыть и увидел #pragma pack.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.4.2025, 17:29 |