我写了一些头文件。我想分别声明命名空间层次结构(以增加清晰度),然后再声明函数和类。对我来说,它看起来像文档中的目录。这对我来说非常方便:可以在一个地方看到所有命名空间的完整层次结构。我写了这个:
// Namespaces hierarchy:
namespace Bushman{
namespace CAD_Calligraphy{}
//...
}
// Declarations of classes and functions
class Bushman::CAD_Calligraphy::Shp_ostream{
public:
explicit Shp_ostream(std::ostream& ost);
};
但是 MS Visual Studio 对这种创建头文件的方式表示不赞同。我应该这样写:
namespace Bushman{
namespace CAD_Calligraphy{
class Shp_istream{
public:
explicit Shp_istream(std::istream& ist);
};
}
}
为什么第一种变量不起作用?这是C++的限制还是IDE的限制?
P.S. 我的附加问题在这里。
谢谢。