我正在尝试使用一个使用深度为 3 的嵌套向量的类成员:
矢量<矢量<矢量>>类变量_;
但是,当我尝试执行诸如 classVariable_.clear() 之类的简单操作时,我会在整个代码中收到编译器警告:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_vector.h:在成员函数`std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc> ::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = std::vector >, _Alloc = std::allocator >>]': /usr/lib/gcc/i686-pc-cygwin /3.4.4/include/c++/bits/stl_vector.h:715:警告:“__result”可能在此函数/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/中未初始化使用bits/stl_uninitialized.h:82: 警告: '__cur' 可能在这个函数中使用未初始化/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_uninitialized.h:82: 警告: '__cur' 可能在此函数中未初始化使用
奇怪的是,这适用于深度为 2 的嵌套向量,但不适用于深度为 3 或更多的嵌套向量。这与 stl 库中缺少默认运算符/构造函数有关吗?
有谁知道一个干净的解决方案?我正在使用 cygwin 编译它,但这不应该对此产生影响。
谢谢你。