90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|||||||||||
1 | |||||||||||
Битовые поля. Поля без типа и имени13.06.2017, 08:25. Показов 2427. Ответов 16
Метки нет (Все метки)
Вчера сделал очень интересную и болезненную ошибку (с точки зрения времени, так как искал я ее долго)... представьте структуру (битовое поле) с очень большим количеством переменных в ней... и вот там был такой косяк:
может кто-то объяснит... как и почему этот код компилируется? законно ли это на всех компиляторах или это только кривой MinGW (извините, я его не люблю по целому ряду причин) такое ест?
0
|
13.06.2017, 08:25 | |
Ответы с готовыми решениями:
16
Битовые поля и работа с двоичным числом без логических операций Невозможно выполнить выборку по имени поля (по номеру поля все работает) Получить значения элемента xml по заданному имени из поля типа Object Битовые операции, битовые поля. |
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
13.06.2017, 08:35 [ТС] | 3 |
уупс.. ошибочка вышла... struct я действительно проглядел...
а вот без типов компилируется прекрасно! и в том то и дело, что стает вопрос... какого????
0
|
Любитель чаепитий
|
||||||
13.06.2017, 08:43 | 4 | |||||
да что вы говорите?!
http://rextester.com/NMJ26557
Код
source_file.cpp:5:7: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] : 2; ^ какие флаги компиляции и какая версия mingw?
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
||||||
13.06.2017, 08:49 [ТС] | 5 | |||||
в флагах ничего не менял, какие были в QtCreator, такие и стоят... MinGW 4.9.1 32bit
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
13.06.2017, 09:07 [ТС] | 7 |
ну вы мне уже скинули ссылку на rextester, как бы там оно не компилируется.. осталось понять почему у меня такое компилируется))) так как вот это строка кода:
отняла у меня 3 часа жизни Добавлено через 9 минут в общем... компилятор (C:\Qt\Qt5.4.1\Tools\mingw491_32\bin\g++.exe) такой код кушает, так что проблема не в QtCreator (да и что он мог изменить), а в самом компиляторе... может расширение какое-то? а так даже великий и ужасный clang не ест такой код)))
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
||||||
13.06.2017, 10:28 [ТС] | 9 | |||||
сейчас я напрочь сломаю всю систему))) запустил только что в RAD такой код (ничего не меняя в .h и на форме):
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
13.06.2017, 10:30 [ТС] | 10 |
какой-там компилятор в RAD я не вникал... если не ошибаюсь - у них там свой какой-то... вот, но факт остается фактом... на моем компе (рабочем, я еще сегодня дома проверю), такой код имеет место быть и компилируется нормально...
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
13.06.2017, 10:40 | 11 |
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
||||||
13.06.2017, 10:56 [ТС] | 12 | |||||
пожалуйста, весь вывод компилятора (компилятор из Qt, стоит еще раз отметить, что такой же код у меня компилируется и в RAD) для этого кода:
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
13.06.2017, 16:21 [ТС] | 14 |
потому что дело не в компиляторе скорее всего... так как такой код компилится и в RAD и в QtCreator...
более того... он компилится не только на моем компьютере... только что проверял за соседним, тот же QtCreator и та же RAD (10.1 Berlin) и все компилилось... на счет компилятора в RAD: стоит галочка "Use 'classic' Borland compiler"
0
|
13.06.2017, 21:05 | 15 |
ДА фиг с ним, с борландовским компилятором. У тебя по логу из-под QtCreator'а запускается g++ (mingw). У меня gcc ни линуксовй, ни виндузовый это не едят
Добавлено через 1 минуту Опаньки. Под виндой я запускал версию из-под cygwin'а. Но вот взял и запустил чистый MinGW и там сожралось. Такое ощущение, что windows-версия gcc это жрёт для поддержки совместимости. Возможно с Borland'овским компилятором. Возможно, с чем-то ещё. У кого есть MSVC, проверьте пожалуйста Добавлено через 1 минуту Фиг-то там. Просто mingw у меня либо не работает, либо что-то ещё, но при этом не выдаёт никаких ошибок или сообщений Добавлено через 5 минут mingw с gcc-4.6.3 не жрёт, а mingw с gcc-4.8.1 не запускается
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
13.06.2017, 22:59 [ТС] | 16 |
MVS 2017 плюется от такого кода еще в редакторе...
ну как бы что такой код не легален я вроде как понимал... я удивился от такого, что он скомпилился... и если кто-то объяснит почему - буду очень-очень рад)
0
|
Evg
|
14.06.2017, 22:14
Битовые поля. Поля без типа и имени
#17
|
0
|
14.06.2017, 22:14 | |
14.06.2017, 22:14 | |
Помогаю со студенческими работами здесь
17
вычисляемые поля - обработка зависит от типа поля? Передача поля в контроллер из вьюшки без пападания поля во вьюшку Insert без идентификаторов для поля типа SERIAL Битовые поля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |