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’)
*/
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Написано же:
>>initializer element is not constant
Это из-за твоей s в инициализации структуры. Поставь туда 0, идеологически неверно, конечно, но она проглотит.
Почитай вот тут. http://www.unix.org.ua/c/h16.htm Основная идея — глобальная переменная бывает только static или extern, и должна инициализироваться константой.
Good Luck,
UT
Большое спасибо!