Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2012, 16:02   #1
graveman
Пользователь
 
Регистрация: 10.01.2011
Сообщений: 15
По умолчанию Компилятор игнорирует типы, объявленные внутри функции.

Скачал версию bullet physics 2.8. Пробовал собрать, используя cmakeGUI,
под Visual Studio 6. Хотя в этой версии bullet 6-я версия не предусмотрена для компиляции. Вообщем, была ошибка типа такой
Код:
function(T* pointer, size_t t)
{    union
     {    T* ptr;
           size_t integer;
     };

ptr +=
...
какие-то операции с ptr, integer
}
//error: ptr - undeclared identifier, integer - undeclared identifier
Какие ключи cl.exe вызывают это или с чем это может быть связано?
graveman вне форума Ответить с цитированием
Старый 02.08.2012, 16:48   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от graveman Посмотреть сообщение
с чем это может быть связано?
С отсталостью компилятора - ему не нравятся union без имени переменной... либо сделайте union { ... } var; и меняйте ptr++ на var.ptr++ либо меняйте компилятор на новый.
waleri вне форума Ответить с цитированием
Старый 02.08.2012, 16:56   #3
graveman
Пользователь
 
Регистрация: 10.01.2011
Сообщений: 15
По умолчанию

waleri я проверял, создав чуть усложненный консольный хелловорд - нормально скомпилился. Может дело в том, что собираются статик либы при сборке bullet, а не exe?
graveman вне форума Ответить с цитированием
Старый 02.08.2012, 17:55   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Хмм a Т вообще где объявлено? Ето template?
waleri вне форума Ответить с цитированием
Старый 03.08.2012, 10:21   #5
graveman
Пользователь
 
Регистрация: 10.01.2011
Сообщений: 15
По умолчанию

Да, это шаблонная функция, но ведь и integer тоже не объявлен по мнению компилятора.
graveman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск срипта внутри функции Mizar JavaScript, Ajax 0 25.11.2011 13:52
Как вместо статических локальных переменных использовать переменные объявленные в namespace? Oleg_SK Общие вопросы C/C++ 25 05.07.2010 18:46
Посмотрите ошибки функции ...подробности внутри NopeR Общие вопросы C/C++ 2 19.01.2010 18:46
Компилятор игнорирует ошибочный код N1KeL Помощь студентам 8 29.11.2009 21:22
компилятор игнорирует переменные, объясните dextering Общие вопросы Delphi 23 15.06.2009 11:58