std::vector<float[4]> b;
std::list<float[4]> s;
去掉第二行就可以编译通过,运行的数据也都对。
加上第二行就编译不通过,g++给出的错误信息如下:
/usr/include/c++/7/ext/new_allocator.h:140:28: error: request for member ‘~float [2]’ in ‘* __p’, which is of non-class type ‘float [2]’
destroy(_Up* __p) { __p->~_Up(); }
似乎是list需要其中数据的析构函数,但是vector就不需要吗?
--
FROM 121.69.79.*