【发布时间】:2016-07-23 07:27:04
【问题描述】:
我在使用 c++ 中的向量时遇到问题。我是 C++ 新手,所以请记住这一点。
所以我的程序开始时有以下结构:
typedef struct grupo
{
float transX, transY, transZ, rotX, rotY, rotZ, rotAngle, scaleX, scaleY, scaleZ;
char **modelos;
struct grupo** grupos;
int nNomes = 0, nGrupos=0;
std::vector<float> vertices;
};
struct grupo *grupo;
我只是这样开始主要的:
grupo = (struct grupo*)malloc(sizeof(struct grupo));
grupo->modelos = (char **)malloc(sizeof(1));
grupo->grupos = (struct grupo **)malloc(sizeof(struct grupo));
在 main 的中间,我正在尝试使用它:
grupo->vertices.push_back(x);
但它不断使程序崩溃。我正在使用 Visual Studio,并使用调试模式。我可以看到这是将 X 推到崩溃的向量时(x 有一个值)。我试图将向量更改为浮点数组。所以我能想象的问题是向量的初始化......你能帮我解决我遗漏的问题吗?
谢谢你:)
【问题讨论】:
-
本题与[c]无关,请勿标记。
-
@AnttiHaapala 你是对的,对此感到抱歉。
-
我发现你的变量与结构同名,这很令人困惑。
-
另外,尝试完全摆脱指针和
malloc()。尝试使用std::vector或其他 stl 容器来完成所有操作。