2016-04-29 4 views
0

Я хочу сделать что-то, что я вставил в код. Я хочу использовать класс Nested в классе Head, посмотрите на код ниже. Что мне делать? Я пытался использовать вложенный список конструкторов в списке инициализации, но все же не работал. Есть идеи?Использование вложенного класса в конструкторе класса head

class Head{  
    private: 
     int x; 
    public: 
    Head(int x, const Nested& n){ 
     this->x=x; 
    } 
    class Nested{ 
    private: 
     int a; 
     int b; 
    public: 
     Nested(int a, int b){ 
     this->a=a; 
     this->b=b; 
     } 
    } 

}

+1

«Я хочу использовать класс Nested в классе Head» Как вы хотите его использовать? Как переменная-член? – songyuanyao

ответ

1

Вы имеете в виду у вас есть ошибка компиляции? Вы должны определить Nested перед его использованием, как показано ниже:

class Head{  
    private: 
     int x; 
    public: 

    class Nested { 
    private: 
     int a; 
     int b; 
    public: 
     Nested(int a, int b){ 
     this->a=a; 
     this->b=b; 
     } 
    }; 

    Head(int x, const Nested& n){ 
     this->x=x; 
    } 
}; 

int main() 
{ 
    Head::Nested n(0, 0); 
    Head h(0, n); 
} 
Смежные вопросы