有人可以告诉我使用向量数组的正确方法是什么?
我声明了数组(vector<float[4]>)的向量,但是error: conversion from 'int' to non-scalar type 'float [4]' requested在尝试时得到resize了。怎么了? 问题来源于stack overflow
您不能将阵列存储在vector或任何其他容器中。要存储在容器中的元素的类型(称为容器的值类型)必须是可复制构造的和可分配的。数组都不是。
但是,您可以使用array类模板,例如Boost,TR1和C ++ 0x提供的模板:
std::vector<std::array<double, 4> > (您将需要替换std::array为std::tr1::array以使用C ++ TR1中包含的模板,或者boost::array使用Boost库中的模板。或者,您可以编写自己的模板;这非常简单。)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。