RSS RSS
Добавлено: 2007-05-03 10:45:45   Шаблоны выдают множество ошибок о недоступности переменных базовых классов
Гость



Ответить | Цитировать
Добавлено: 2007-05-03 10:55:00
Raul

Зарегистрирован(а): 17.03.2010

Сообщений: 101 (просмотреть)
В новых компиляторах, соответствующих стандарту языка C++, изменены правила видимости переменных в шаблонах базовых классов. Чтобы к ним обратиться, надо использовать директиву using или префикс this->.

В шаблонах применяется директива using. Но ее не понимают все еще популярные старые трансляторы, поэтому шаблоны определяют версию транслятора и включают соответствующий им код. Определение версии транслятора работает для Microsoft Visual C++, начиная c версии шаблонов 1.2 и для GNU g++, начиная с версии шаблонов 1.2a.

Для остальных новых компиляторов потребуется вручную определить макро ALLOW_EXARRAY_USING. Его можно вписать в настройки транслятора или раcкомментировать в файле Exarray.h.

Ответить | Цитировать