[英]Thread 1 : EXC_BAD_ACCESS (Code = 1, address = 0x0) issue is generated
我正在使用Apple LLVM編譯器在Xcode中進行C ++開發。 我初始化了char pickbuf
變量,並分配了所需的內存,我想將值1分配給那里的第二行代碼。 但是我收到了空指針錯誤:請幫助我。
2DCDP4.h
class CDP : public Const2DCDP{
struct PICK
{
short x; // Transverse connector
short y; // Vertical direction consolidated
unsigned char x0; // Transverse reduction limit
unsigned char y0; // Longitudinal reduction limit
} ;
public:
char* pickbuf =new char[1]; // Overlapping buffer allocate some
PICK* pickup =new PICK [1]; // Backtrace buffer
}
void getProjection(void);
};
2DCDP4.cpp
#include "2DCDP4.h"
void CDP::getProjection(void){
char *before=pickbuf;
if( before[(j-1)*di + (i-1)] == 1) //**Thread 1 : EXC_BAD_ACCESS (Code = 1, address = 0x0)**
{
//code
}
}
您尚未為pickbuf
分配任何內存,但嘗試在第二行的pickbuf
上訪問該內存。 要解決此問題, pickbuf
在第二行之前為pickbuf
分配一些內存:
char pickbuf[n];
要么
char* pickbuf = new char[n];
其中n
是足以滿足您需要的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.