nixp.ru v3.0

3 декабря 2024,
вторник,
21:44:34 MSK

Fatal написал 21 ноября 2004 года в 20:34 (1068 просмотров) Ведет себя как мужчина; открыл 123 темы в форуме, оставил 484 комментария на сайте.

/*

Дорого времени суток!

Объясните, пожалуйста, почему выдается ошибка? А если поставить эти две переменные в функцию main(), то ошибки не будет.

(c++ tmp.c компилиться без ошибок)

*/

#include

#include

#include

short s=0;

struct sembuf sem={0,0,s};

int main(void){

return 0;

}

/*

Ошибка:

/home/alec/progs/hw/sem> cc tmp.c

tmp.c:6: initializer element is not constant

tmp.c:6: (near initialization for `sem.sem_flg’)

*/

Uncle Theodore

Написано же:

>>initializer element is not constant

Это из-за твоей s в инициализации структуры. Поставь туда 0, идеологически неверно, конечно, но она проглотит.

Почитай вот тут. http://www.unix.org.ua/c/h16.htm Основная идея — глобальная переменная бывает только static или extern, и должна инициализироваться константой.

Good Luck,

UT

Fatal

Большое спасибо!

Последние комментарии

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.