| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > инициализация экземпляра структуры |
| Автор: slater 22.10.2010, 19:09 | ||
| здраствуйте очень часто приходится видеть(особенно в исходном коде ядра linux) следующее объявление экземпляра структуры с начальным присвоением значений например:
логически как бы все верно, но в литературе об этом не писано( но с другой стороны, если я начну такое юзать в своей программе - то не соберется - на синтаксис ругается вопрос: что это? где более подробно прочесть? и как мне такое использовать P.S. подозреваю, это какая то фича самого gcc) |
| Автор: boostcoder 22.10.2010, 20:10 |
угу. |
| Автор: djamshud 22.10.2010, 22:31 |
| http://tinyurl.com/25nd9pc Добавлено через 2 минуты и 12 секунд Ну а чтобы включить, нужно использовать гнутый --std (см ман). |
| Автор: xido 25.10.2010, 09:22 |
| Это фича из последнего стандарта C. Поддерживается пока не всеми, gcc один из тех кто поддерживает (возможно ранее это была чисто его фишка). |
| Автор: slater 25.10.2010, 09:56 |
| ребята, спасиобо за советы так какой именно флаг надо указать при компиляции что бы это поддерживалось -std???? |
| Автор: xido 25.10.2010, 11:26 |
| std99 кажется. Но вообще по моему оно по умолчанию работает, разве нет (может надо выключить какой-нибудь pedantic )? |
| Автор: djamshud 25.10.2010, 11:30 | ||||
Хм. Попробовал. Во-первых, нужно писать:
Во-вторых, это заработало только в С. В С++ можно так:
|
| Автор: xido 25.10.2010, 11:44 |
| А при чем тут плюсы? Речь идет про C. |
| Автор: djamshud 25.10.2010, 11:49 |
| Не нашел, где бы было сказано про чистый С, поэтому сделал поправку и на плюсы. Что касается варианта С, я в нем сделал исправление. Кто-то знак равенства пропустил. |
| Автор: slater 25.10.2010, 14:51 |
| спасибо ребята, вопрос решен |