나는이 문제에 완전히 막혔어요 ... 다음과 같이 부여 된 코드 구조는 다음과 같습니다 무엇 일어나는 것은배열
typedef struct _myvar{
uint32_t someInt;
uint32_t *ptr;
} myvar;
...
myvar **var;
..
var = new myvar*[x]; // where x is an int
for(int i = 0; i < y; i++){ // y is usually 2 or 4
var[i] = new myvar[z]; //create dynamic 2d array
for(int j = 0; j < z; j++){
var[i][j].ptr = new int[b]; //where b is another int
}
}
내가 가지고있는 2 차원 구조를 만들려면 그것의 한 부분은 3d 즉, ptr은 int 배열에 대한 포인터 일뿐입니다.
내 코드가 컴파일되지만 ptr이 가리킬 수 있도록 메모리 할당에 seg faults가 발생합니다. 나는 약 1 시간 동안이 작업을 시도하고 도움이 필요할 때라고 생각했습니다.
감사합니다.
EDIT1 : 컴파일하지 않는 코드에 대한 주석과 관련하여 고정 코드 문제 .. 둘째 ... 원하는만큼 벡터를 사용할 수 없습니다 ... 내가 가지고있는 데이터 구조가 사용해야하는 것입니다. .
EDIT2 : b는 동적이며 명령 줄에서 설정됩니다. 테스트 용으로는 16을 사용하십시오.
사용'표준 : vector' 가능한이 항목의 복사본을 유지하고 당신이하지 않아도 동적 메모리 할당을 관리하기 때문이다. –
코드가 컴파일되지 않습니다. 'var = new myvar [z]'는'myvar ** var'에서 작동하지 않습니다. –
무엇이 b로 설정되어 있습니까? –