저는 매우 이상한 문제에 직면하고 있습니다.매크로가 선언되지 않았지만 헤더에 정의되었습니다.
#define MAP_WIDTH 256
#define MAP_HEIGHT 256
typedef struct {
char exit_n;
char exit_s;
char exit_w;
char exit_e;
} room;
room map[MAP_WIDTH][MAP_HEIGHT];
void generate_map();
그리고이 map.c :
#include "map.h"
void generate_map()
{
char room_x, room_y;
room_x = MAX_WIDTH/2;
room_y = MAX_HEIGHT/2;
// first room
map[room_x][room_y].exit_n = 1;
}
그래서, 아무것도 정말 이국적인
이
은 map.h입니다. 내가 잘못을map.c: In function ‘generate_map’:
map.c:18: error: ‘MAX_WIDTH’ undeclared (first use in this function)
map.c:18: error: (Each undeclared identifier is reported only once
map.c:18: error: for each function it appears in.)
map.c:19: error: ‘MAX_HEIGHT’ undeclared (first use in this function)
를하고있는 중이 야 무엇 : 문제는 컴파일러는 두 개의 정의 된 상수 MAX_WIDTH 및 MAX_HEIGHT에 대해 불평? 당신이 _height 상수에 대한 동일 (X 표시) MA X _width 두 경우에 MA (A P와) P _width를 사용하는 것처럼
부끄러워하지 마십시오. 당신이 사심없는 파티에 그들을 보여주기 전까지는, 이런 것들은 매우 불쾌 할 수 있습니다. 우리 모두가 이런 종류의 경험을했을 것입니다. –
삭제할 이유가 없습니다. 시간 낭비 할 가치가있었습니다. 맞습니까? 가장 좋은 대답을 수락하십시오. (그리고 누구는 downvoted : 왜?) –
나는 그것을 사용하지 않는 년 후에 다시 C에서 프로그램을 시작, 그래서 나는 그것에 대해 매우 불안하고 문제를 찾고 잠시 후에 나는 그것이 교활하고 무언가가 아니라고 생각했다. :) – pistacchio