Глобальный массив структур - PullRequest
1 голос
/ 28 ноября 2011

просто интересно, как вы используете глобальные массивы структуры?

Например:

int y = 0;
object objectArray [100];

typedef struct object{
    time_t objectTime;
    int objectNumber;
} object;

int main(void)
{
    while(1)
    {
        time_t time_now;
        time_now = time(NULL);

        object x = {time_now, objectNo}
        objectArray[y] = x;
        y++;

    }
}

Это всегда выдает «ошибка: тип массива имеет неполный тип элемента», можеткто-нибудь посоветует мне проблему и соответствующее решение?Спасибо

1 Ответ

4 голосов
/ 28 ноября 2011

Переместите определение структуры до вашего объявления массива:

typedef struct object{
    time_t objectTime;
    int objectNumber;
} object;

object objectArray [100];

Вы получаете эту ошибку, потому что компилятор не знает размер object, когда он попадает в объявление массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...