Re[3]: Нормальный ли это код?
От: Pavel_Chikulaev Россия  
Дата: 25.03.05 17:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Pavel_Chikulaev, Вы писали:

А>Что-то мне аж интересно стало : это где тут не учитывается область видимости классов?
А>По моему все отлично : нормальное объявление, а после определение.
А>Какая разница где определять, лишь бы права на это были, а то разные классы получаться.

область видимости

class A
{
public:
    class X;
};

class B : public A
{
public:
    class A::X //нельзя создавать объявлять класс как A::X внутри B, так как полное имя класса будет B::A::X что совсем не то что A::X
       
    {
    };
}

A::X x; // Не должно компилироваться - тип A::X не опеределен.



А>И компилятор в данном случае абсолютно прав.

Нифига, читай стандарт ed2k://|file|ansi_iso_iec_14882_1998%20(C++%20standard).pdf|2860601|AE2659B30E58BC7C8CAF12E26263BDE1|/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.