分配指向矢量的指针
Assigning a pointer to a vector
我确定这个问题存在于这个网站的某个地方,但我想我不太确定要搜索什么,因为我还没有找到答案。因此,如果我发布重复项,我会道歉。
无论如何,我正在尝试创建一个指向向量的指针向量。
这是我到目前为止所拥有的:
float knot_vector1[] = {-1,-1,-1 0,1,1,1};
float knot_vector2[] = {-1, -1, 1, 1};
float knot_vector3[] = {-1, -1, -1, -1, 0, .5, .5, .5, 1, 1, 1, 1};
// initialize vectors with the arrays defined above
vector<float> U1 (knot_vector1, knot_vector1 + sizeof(knot_vector1) / sizeof(knot_vector1[0]) );
vector<float> U2 (knot_vector2, knot_vector2 + sizeof(knot_vector2) / sizeof(knot_vector2[0]) );
vector<float> U3 (knot_vector3, knot_vector3 + sizeof(knot_vector3) / sizeof(knot_vector3[0]) );
vector<float> *ptr_u1 = &U1; // creating pointers that point to my vectors
vector<float> *ptr_u2 = &U2;
vector<float> *ptr_u3 = &U3;
vector<vector<float>*> knotvectors[] = {ptr_u1, ptr_u2, ptr_u3};
这是我收到的错误:
error: conversion from 'std::vector<float>*' to non-scalar type 'std::vector<std::vector<float>*>' requested|
所以很明显,我定义指针向量的最后一行有问题。正确的方法是什么?
提前谢谢你。
vector<vector<float>*> knotvectors[] = {ptr_u1, ptr_u2, ptr_u3};
是vector<vector<float>*>
数组。
你想要
vector<vector<float>*> knotvectors = {ptr_u1, ptr_u2, ptr_u3};
看来你的意思是以下几点
vector<vector<float>*> knotvectors = {ptr_u1, ptr_u2, ptr_u3};
或者也许只是写会更好
vector<vector<float>> knotvectors = { U1, U2, U3};
相关文章:
- 将指针分配给另一个指针时会发生什么情况?
- C++将一个指针分配给另一个指针时执行的类型检查
- 我似乎无法为指针分配一个数组,然后更改数组的内容
- C++为 void 指针分配一个字符串
- 当我在 C++ 中将派生类的指针分配给指针时,地址会更改
- MPI 集合通信中的指针分配
- 函数指针分配在创建 DLL 后导致错误
- 通过双指针分配指针
- C++编译时使用 constexpr 字符数组指针分配静态数组?
- 我可以直接为指针分配地址吗?如果是,如何做到这一点
- 为什么为char指针分配内存不会截断char序列
- C++指针分配字符数组的地址
- 将 void 指针分配给另一个 void 指针
- 如何将不同的成员函数指针分配给注册类的不同实例?
- 如何为指针分配特定的内存地址?
- C++ - 无法将顶部常量指针分配给另一个非常量指针
- 将指针分配给另一个指针时会发生什么情况?
- 为指向C++中的对象/对象的指针分配堆内存
- 将指针分配给字符串变量中包含的地址
- 当直接分配时,为什么此功能指针分配起作用,而不是与有条件的操作员一起使用