大家好,本人接触VC没有多久,就是一个菜鸟,刚遇到如下的问题,想请教大家一下:
struct test
{
int age;
CArray<int,int> *money;
struct test *next;
};
有这样一个结构体,内部使用了CArray容器存储大量的数据。每次都会将其他函数处理得到的数据存储到结构体test中,为了能将数据存储到CArray中,其他函数中定义为:CArray<int,int> temp; money=&temp。这样可以直接将数据存储到结构体的CArray指针变量中。但是在后续从结构体读数据时:
struct test *tmp_var;
tmp_var->money->GetAt(i); //这样读取数据报错,说内存不能read
不知道该如何解决,望大侠指点指点,在线等。VC编程
struct test
{
int age;
CArray<int,int> *money;
struct test *next;
};
有这样一个结构体,内部使用了CArray容器存储大量的数据。每次都会将其他函数处理得到的数据存储到结构体test中,为了能将数据存储到CArray中,其他函数中定义为:CArray<int,int> temp; money=&temp。这样可以直接将数据存储到结构体的CArray指针变量中。但是在后续从结构体读数据时:
struct test *tmp_var;
tmp_var->money->GetAt(i); //这样读取数据报错,说内存不能read
不知道该如何解决,望大侠指点指点,在线等。VC编程
解决方案 »
- typedef 返回指针的函数怎么定义
- 放假了,散分
- 如何利用鼠标钩子实现获取某一控件的caption、任意窗体的caption呢!
- 请问如何调用另外一个对话框内的全局变量?
- 如何改变CListBox对象的背景色和前景色?在线等待!
- 400分求一很简单的控件源码!!!!!!!!急!!!!!2个小时之内一定要的,拿到源码立即给分
- win7下vs2008,mfc对话框项目,如何修改文件的权限,谁都能正常打开?
- 为什么我的程序关闭后总出现错误窗口?
- 求运动目标跟踪的演示程序
- edyang请看进来
- MFC用CTABCtrl创建的分页dialog里面如何读取主dialog里获得数据?
- 下面url指令是什么意思?
tmp_var=test_head;(test_head是结构体的头指针)
int t=tmp_var->child->GetAt(0);//这样访问还是出错!
struct test *tmp_var=new struct test;//分配了一个新的指针tmp_var=test_head;(test_head是结构体的头指针)
//又改变了新的地址,那原先分配的指针根本没用到,那会造成内存泄露int t=tmp_var->child->GetAt(0);//这样访问还是出错!
你的程序取test_head指针里的数据,
那你要确保test_head是一个可用的test 指针
并且你的test_head的money必须分配地址给你举个例字
test a;//这里也可以使用new 分配空间
a.money=new CArray<int,int>;//要记得释放指针
a.money->Add(1);a.money->Add(2);
tmp_var=&a;
int t=tmp_var->money->GetAt(0);
---
//delete a.money
太感谢你了,对结构体的操作不是很熟,以前直接使用CArray<> *test时,存储访问都没有问题。原来结构体中涉及到指针的对象,在存储数据时必须得分配地址。