c++ - 为什么 std::vector 中允许不完整类型?
问题描述
在下面的代码中,虽然Node
在声明时是不完整的类型,但vector
我的 C++ 编译器 (g++) 不会报告任何警告或错误。
#include <vector>
int main() {
struct Node {
std::vector<Node> children;
};
Node n;
Node n2;
n.children.push_back(n2);
}
编译器如何处理这个?
解决方案
推荐阅读
- pyspark - 如何在 PySpark 2.x 中使用修剪?
- c++ - 不使用configure_file时如何使用CMake生成C++代码?
- openssl - 使用 openssl ciphers 命令删除密码套件,无需重新编译?
- sapui5 - SAPUI5 - 事件总线
- google-apps - Google 操作 - 个性
- javascript - 我在 JavaScript 中的复制地址不起作用
- reactjs - React 中的 Angular 服务
- python - R和Python中的线性回归-同一问题的不同结果
- python - 被python -c 打印命令“\xef\xbe\xad\xde”弄糊涂了是什么意思?
- python - 从先前的函数调用中保留的函数参数中的默认值