0
코드 조각이 다음과 같이 표시되며 주석이있는 행 (// 여기 오류)이 실행되면 배열의 요소 대신 상태 변수가 설정됩니다.구조체의 배열 값을 설정하면 구조체에 다른 필드가 설정됩니다.
구조체 정의에서 int 상태 요소를 array_name 요소 위로 옮겼습니다. 고정되어있는 것처럼 보였습니다. 포인터를 변경하고 일부 괄호가 누락 된 것으로 의심됩니다.하지만 왜 이런 일이 발생했는지 확신 할 수 없습니다.
#define MAX_NUM 20
typedef struct FOO_T {
bool abc;
int id;
int array_name[MAX_NUM];
int counter;
int status;
SYSTEMTIME timestamp;
struct FOO_T *next;
}
if (curr->array_name[code] == 0)
{
curr->counter++;
curr->array_name[code] = curr->counter; //error here
}
나는 또한 다른 기능에서 전체 구조체를 초기화, 그 기능의 일부가 이것이다 :
thing->id = 0;
for (i = 0; i < MAX_NUM; i++) thing->array_name[i] = 0;
thing->counter = 0;
thing->status = 0;
입니까? 그냥 코드를 복사하지 못했습니다 ... – rene
위의 코드에 추가되었지만 이미 내 코드에 있습니다. #define MAX_NUM 20 – emge
@rene - 코드가 == MAX_NUM – OrangeDog