向量在我的类中.错误:数组new [-fpermissive]中的圆括号初始化项
Vectors in myclass. error: parenthesized initializer in array new [-fpermissive]
我是c++新手
class BlenderMesh{
public:
std::vector<double[3]> vertex_vectors;
std::vector<double[3]> normal_vectors;
std::vector<double[2]> uv_vectors;
std::vector<std::string> texture_list;
std::vector<int[6]> face_indices;
std::vector<int[3]> normal_indices;
std::vector<int[3]> uv_indices;
BlenderMesh();
~BlenderMesh();};
代码错误:mesh->vertex_vectors.push_back(vertex);
BlenderMesh::BlenderMesh(){}
BlenderMesh::~BlenderMesh(){}
BlenderMesh* mesh = new BlenderMesh();
PyObject* vertexVectors = PyList_GetItem(blenderObject,2);
unsigned int size_vertex_vectors = PyObject_Size(vertexVectors);
for (unsigned int i = 0; i < size_vertex_vectors; i++){
double vertex[3];
PyObject* pyVertex = PyList_GetItem(vertexVectors,i);
PyObject* vertexX = PyTuple_GetItem(pyVertex,0);
vertex[0] = PyFloat_AsDouble(vertexX);
PyObject* vertexY = PyTuple_GetItem(pyVertex,1);
vertex[1] = PyFloat_AsDouble(vertexY);
PyObject* vertexZ = PyTuple_GetItem(pyVertex,2);
vertex[2] = PyFloat_AsDouble(vertexZ);
mesh->vertex_vectors.push_back(vertex);
}
控制台:/usr/include/c++/4.9.2/ext/new_allocator.h:120:4: error: parenthesized initializer in array new [-fpermissive]
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
/usr/include/c++/4.9.2/ext/new_allocator.h:124:29: error: request for member '~double [3]' in '* __p', which is of non-class type 'double [3]'
destroy(_Up* __p) { __p->~_Up(); }
已经四年了,但希望这能帮助到一些人。由于某种原因,你不能创建一个包含原生对象列表的矢量对象(也许有人能解释为什么?)
因此,例如,当创建一个包含1'n的18x2向量时例如:
std::vector<double[2]> my_vector(18, {1.0, 1.0});
所以你应该这样做:
std::vector<vector<double>> my_vector(18, vector<double>(2,{1.0, 1.0});
在c++ 11中,可以使用std::数组:
std::vector<std::array<double,2>> my_vector(18, std::array<double,2>{1.0, 1.0});
相关文章:
- 将大括号括起来的初始值设定项列表作为结构返回
- 如何为圆环创建索引
- 调用重载的"<大括号括起来的初始值设定项列表>"对于对来说就足够了是模棱两可的
- 在现代OpenGL中,绘制GL_TRIANGLE奇怪的z轴行为的填充圆
- 介绍类 在C++中查找圆半径的问题
- 为什么我会收到此错误?无法将 {lb, ub} 从<大括号括起来的初始值设定项列表>转换为 float(**)(float*, int)
- 是否可以使用 DirectX 3D 11 绘制由三角形组成的圆?
- ISO C++禁止指针和整数 [-fpermissive] [c++] 之间的比较
- 为什么这个复合语句作为用大括号和括号括起来的语句序列似乎不是有效的语句表达式
- 从双引号括起来的子字符串中删除特定字符
- 大括号括起来的初始值设定项列表中的短 c++ 类构造函数
- 如何在虚幻引擎中使用画圆
- 嵌套的大括号括起来的初始值设定项列表
- SDL2填充圆-相同的操作,不同的结果
- 为什么这一直打印圆的宽度?
- 在C++中用类画一个圆
- 如何在openGL C++中绘制一个空心圆
- 如何优化圆画?
- 不能在构造函数 - C++中使用大括号括起来的列表
- C++委托构造函数中用大括号括起来的初始值设定项列表