【发布时间】:2015-02-14 20:44:46
【问题描述】:
为了练习,我正在尝试制作一个递归目录解析器。
为了简洁起见,我也想递归地包含结果,例如:
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 }
但是,I see here 不支持第 5 行的行为 - “C++ 标准 (2003) 明确指出,实例化具有不完整类型的标准容器会调用未定义行为。”
那么,我该怎么办?有没有办法让一个对象包含类似对象的列表?如果不出意外,我知道制作向量的向量绝不是非法的,所以这是一个包含自身的对象。
【问题讨论】:
-
你们都在考虑是否投票结束:做吧。我同意另一个问题(在顶部编辑)与这个问题相同。
-
你不能创建同种向量的向量。