先介绍下背景,开发了一个底层库(带命名空间),调用这个底层库时,需要将该类放入成员函数,但是不想包含该头文件,详细如下:
libA库 AReader.h
namespace libA
{
class AReader
{
...
};
...
}
上层程序Reader.h
class libA::AReader;
class A
{
libA::AReader reader_;
}
编译会报warnning:
declaration does not declare anything [-fpermissive]
正确的前置声明方法是:
上层程序Reader.h
namespace libA
{
class AReader;
}
上层程序Reader.cpp
include "AReader.h"
...