vtk类型的visualarray拒绝在c++中保存内容
visual Array of vtk type refuses to hold contents in C++
我使用c++使用vtk,当我硬编码顶点时,我的程序工作得很好。
然而,当我尝试实现for循环(保存x多个顶点)时,整个程序崩溃了。
下面是我正在使用的代码:
vtkIdType totalVertex[9];
for(int i = 0; i < sizeof(totalVertex); i++){
totalVertex[i] = g->AddVertex();
}
// Hardcode example for syntax:
// vtkIdType v1 = g->AddVertex();
会有9个顶点然后我可以用命令来操作它们,比如
g->AddEdge (totalVertex[0], totalVertex[1]);
但是我的代码从来没有到达添加边的地方,而是决定在循环中中断。
我是c++新手,如果有什么建议就更好了。
这可能不能解决您的问题,但是
有一个问题for(int i = 0; i < sizeof(totalVertex); i++)
,这可能与你所遇到的问题有关。
sizeof
在c++中产生的大小是以字节为单位的,而不是数组的长度。除非vtkIdType
是一个字节宽,否则会出现错误。正确执行此操作的"老式C方法"是
for(int i = 0; i < sizeof(totalVertex) / sizeof(totalVertex[0]); i++)
一种更干净、更现代的c++方式是
#include <array>
std::array<vtkIdType, 9> totalVertex;
for(int i = 0; i < totalVertex.size(); i++){
totalVertex[i] = g->AddVertex();
}
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 在C++中将类(带有Vector成员)保存为二进制文件
- C++.我想将更改后的特定字符行保存在字符串中
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 哈希文件递归并保存到矢量Cryptopp中
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 无法通过头文件保存变量的值
- 我们可以将数据永久保存为数据结构吗?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 保存/加载大量短数组到二进制文件
- Gstreamer:每 5 秒使用多文件墨水保存图像/jpeg
- 如何访问由共享指针保存的类方法?
- 为什么签名字符可以保存大于 127 的值?
- 一个变量的输入值也会保存到另一个变量中