【发布时间】:2009-12-01 05:11:31
【问题描述】:
编辑:我发现了错误:我没有用大小初始化数组。问题可以结束了。
我有一个班级V,还有另一个班级N。 N 的对象将有一个指向V 类对象的指针数组(比如V **vList)。所以,N 有一个类似的功能
V **getList();
现在在其他类的某些函数或只是一个驱动程序函数中,如果我说V **theList = (N)n.getList(); Q1:theList 将指向数组的第一个元素?鉴于数组的大小是已知的,我可以用索引i 循环并说V *oneV = *vList[i] 吗?如果我在上面做错了,请纠正我。
我一直在使用调试器来跟踪我的程序运行的整个过程,我发现在使用V *oneV = vList[i]之后,数组中的指针vList的值和它们之前的一样已创建,但如果我跟随指针指向它指向的位置,则该对象消失了。我猜这可能是我收到段错误或总线错误的原因。会是这样吗?为什么我“松开”指针另一端的对象?我做错了什么?
是的,我正在完成一项学校作业,这就是为什么我不想打印我的代码,我想自己完成它,但我需要帮助来找出问题。我想我仍然需要对指针数组进行解释。谢谢
【问题讨论】:
-
您应该在 "V *oneV = *vList[i]" 之前添加另一个左引号。文字此时有点糊涂了……