JD>class A1
JD>{
JD> class B1: public A1{};
JD>};
JD>
JD>'A1' : base class undefined. Почему тогда в случае с шаблонами все нормально(как A стал defined)? Ткните в стандарт, если можно — сам не нашел(может плохо искал).
Классы перечисленные в спецификации базовых классов не могут быть неполностью определенными типами. Стандарт 10/1.
В случае с шаблонами: некоторые компиляторы проводят только лексический анализ шаблонов, тогда как синтаксический откладывают до момента инстанцирования.
'A1' : base class undefined. Почему тогда в случае с шаблонами все нормально(как A стал defined)? Ткните в стандарт, если можно — сам не нашел(может плохо искал).
S>A<int>::B<3>
Ок. Тогда спрошу подругому куда делись B<1> и B<2> и что означает(подробно) эта форма записи?
Здравствуйте, Greg Zubankov, Вы писали:
GZ>В случае с шаблонами: некоторые компиляторы проводят только лексический анализ шаблонов, тогда как синтаксический откладывают до момента инстанцирования.
Спасибо. То есть в данном случае VC 7.1 не совсем прав?
Здравствуйте, JohnDoe, Вы писали:
JD>Здравствуйте, Greg Zubankov, Вы писали:
GZ>>В случае с шаблонами: некоторые компиляторы проводят только лексический анализ шаблонов, тогда как синтаксический откладывают до момента инстанцирования.
JD>Спасибо. То есть в данном случае VC 7.1 не совсем прав?
JD>Все ще остается вопрос про JD>
JD>typedef A<int>::B<1> ::B<2> ::B<3> C;
JD>
JD>Что означает такая форма записи?
Второе есть следствие первого. Если первое невозможно, невозможно и второе т.е. это объявление на основе первого.