static int m_Glass[7][2] = { {1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1} };
void InitBlocks(RECT blocks[][2], RECT& bound);
void DrawBlocks(HDC hdc, RECT blocks[][2]);
static RECT Blocks[7][2];
int randomnumber;
int rand_array[7];
InitBlocks(Blocks, clientR);
DrawBlocks(hdc, Blocks);
for (int k = 0; k < 7; k++) {
randomnumber = rand() % 2;
rand_array[k] = randomnumber;
}
Blocks[7][2] = { 0, };//0이면 깨지는 유리, 1이면 강화 유리
for (int row = 0; row < 7; row++) {
Blocks[row][rand_array[row]] = { 1, };
}
void InitBlocks(RECT blocks[][2], RECT& bound) {
RECT r, t;
int w, h;
r = bound;
r.right /= 2;
r.top = 50;
r.bottom = r.top + 40;
w = r.right - r.left;
h = r.bottom - r.top;
for (int i = 0; i < 7; i++) {
t = r;
OffsetRect(&r, 0, h);
for (int j = 0; j < 2; j++) {
blocks[i][j] = t;
OffsetRect(&t, w, 0);
}
}
}
void DrawBlocks(HDC hdc, RECT blocks[][2]) {
COLORREF color = 255;
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 2; j++) {
if (m_Glass[i][j])
DrawObject(hdc, blocks[i][j], RGB(0, 0, 0), RGB(0, color, color), 0);
}
}
}
전체 코드가 아니고 일부만 가져왓는데, Blocks[7][2]={0,};
초기화 과정에서 스택 버퍼 오류가 발생한다고 합니다..
구글링을 찾아봤지만, 스택 버퍼에 관한 오류는 대부분 for구문 설정을 잘못해서 그런데, 저는 for구문 설정은 제대로 한 것 같습니다.
제가 원하는 코드는 RECT라는 구조체에 0과 1을 초기화해서(일정 조건하에) 0또는 1의 값을 리턴받고 싶은데, 이걸 어떻게 해야할지 모르겠습니다.
말이 중구난방한거 같은데 도와주시면 정말 감사하겠습니다.