为了练习,我尝试制作一个递归目录解析器。
为了简化起见,我也想递归地包含结果,例如:
1 class CDirectory
2 {
3 private:
4 std::string name;
5 std::vector<CDirectory> subDirectories
6 public:
7 //Various things, constructors etc. go here
8 }
但是,我在这里看到不支持第5行的行为-“ C ++ Standard(2003)明确指出,实例化具有不完整类型的标准容器会调用未定义行为。”
那我该怎么办?有没有办法使一个对象包含相似对象的列表?如果没有别的,我知道制作向量的向量绝不是违法的,因此这是一个包含自身的对象。
使指针成为向量
std::vector<CDirectory*> subDirectories;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句