![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
ido |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 7.4.2010 Пользователь №: 1602 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
При подключении gdktypes.h из gtk+-2.2 в препроцессорном листинге есть строки
typedef __builtin_va_list __gnuc_va_list; typedef __gnuc_va_list va_list; У __builtin_va_list неизвестен базовый тип. В каком файле его можно найти? P.S. gcc 4.1.1 |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Т.е парсится во время компиляции каким-то макросом нет. парсится в риалтайме, как стандартно парсятся переменные параметры, передаваемые через стек (va_arg и иже с ним). компилятор не делает никаких проверок насчёт содержимого va_arg. потому что он просто не может их делать. в общем, это обычные функции с переменным числом параметров. выкопать типы в условиях переменного количества параметров просто нереально. RTTI не передаётся явно. если очень хочется, можно сделать иерархию классов, передавать указатель на базовый класс и проверять typeid внутри самой функции. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 26.4.2025, 14:27 |