使用前向声明 另外一个命名空间中的类

时间:2022-09-08 09:09:49
 使用前向声明 另外一个命名空间中的类?

C/C++ code ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//file01.h
namespace  A01{
class  Aa {...};  //类Aa在这里定义
}
 
---------
//file02.h
 
namespace  A01{
class  Aa;  //前向声明A01中的类Aa;
}
/*
*请问,这里的前向声明,这样写有什么问题?
*还有没有其它更合适的写法?
*为什么 class A01::Aa; 这样作为前向声明,是不行的?
*/
 
namespace  B01{
class  Bb {
...
A01::Aa * ptrAa;  //使用类Aa的指针
...
};
}