大家好,本人接触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编程
解决方案 »
- 关于结构体指针的释放问题
- 关于ZPL斑马指令的问题 在批量打印时如何得知已经打印的数量
- 求助:boundschecker报告这个函数有GDI泄露,为什么?
- 请教各位GS:我只编写了一个简单的程序,可编译时还是有错误,请帮我看一下!
- 机上装两个显卡,接两台显示器,如何编程输出不同内容?
- 我用MFC编写了一组件,用ASP调用正常,为什么在ASP.NET下出错(远程调用出错)?
- 请问谁有监测图片变化的部分代码?(在线等待)
- 有关CSDN改版后的一点意见!
- 求一条存储过程实现
- ADPCM的高手救救我吧!!!!!
- 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时,存储访问都没有问题。原来结构体中涉及到指针的对象,在存储数据时必须得分配地址。