读书人

如何分配不了内存空间

发布时间: 2012-02-14 19:19:19 作者: rapoo

怎么分配不了内存空间?
做一C++改C的项目,把类改成结构,在一段代码中,第一个更改成功,并分对定义的类分配了空间,在改每二个时,刚一分配空间就报错,把代码单独提到另外的程序中又可以.

这是提出来的代码,可以运行.有没有哪位高手指点一下.
#ifndef __AA__
#define __AA__

typedef struct //class DATADOT //data dot description
{
short x; //x-coordinate of dot center
short y; //y-coordinate of dot center
short d; //diamater of dot
short len; //length of path
char clr; //color of dot
char grp; //Group label
unsigned short d2c; //distance to image center, ATTENTION the overflow !!!
}DATADOT;

typedef struct //CDataDotsVerifier
{
unsigned char* m_pImage;
short m_nWidth;
short m_nHeight;

DATADOT* m_pDataDot;
short m_nDataDotNum;
}CDataDotsVerifier;
#endif

main()
{
DATADOT *dot;
dot=(DATADOT*)malloc(sizeof(DATADOT));

CDataDotsVerifier *ddv; //CDataDotsVerifier ddv(m_pBuf1, w, h);
ddv = (CDataDotsVerifier*)malloc(sizeof(CDataDotsVerifier));

free(dot);
free(ddv);
return 0;
}

[解决办法]
free(ddv);
free(dot);
再试试!好像是不允许骑跨!
[解决办法]
程序本身没有错,
把有错的地方贴出来看看
还有报错的内容
[解决办法]
你的编译器c的语法检查强不强?
dot=(DATADOT*)malloc(sizeof(DATADOT));
CDataDotsVerifier *ddv; //CDataDotsVerifier ddv(m_pBuf1, w, h);

如果变量申明在
dot=(DATADOT*)malloc(sizeof(DATADOT));之后
会出[声明地方出错]警告

读书人网 >C语言

热点推荐