Forward declaration of nested types/classes in C++

前端 未结 7 1239
刺人心
刺人心 2020-11-22 10:45

I recently got stuck in a situation like this:

class A
{
public:
    typedef struct/class {...} B;
...
    C::D *someField;
}

class C
{
public:
    typedef          


        
7条回答
  •  不知归路
    2020-11-22 11:21

    If you have access to change the source code of classes C and D, then you can take out class D separately, and enter a synonym for it in class C:

    class CD {
    
    };
    
    class C {
    public:
    
        using D = CD;
    
    };
    
    class CD;
    

提交回复
热议问题