статическая структура в C / C ++ - PullRequest
6 голосов
/ 05 марта 2011
static struct K {  int x; };

Это допустимо в C и C ++?

Ответы [ 4 ]

9 голосов
/ 05 марта 2011

В C это допустимо, но бесполезно .

В C ++ это недействительно.Вы можете указать только класс хранения для объектов и функций.

4 голосов
/ 05 марта 2011

Действителен в C. Плохо сформирован в C ++

В C ++ спецификаторы extern / static могут применяться только к именам объектов или функций

Выезд

C.1.5 Пункт 7: declarations (7.1.1) ISO C ++ 03


2 голосов
/ 05 марта 2011

Нет ... Это недопустимо в C ++. Альтернатива (C ++): безымянное пространство имен

namespace 
{
   struct K {  int x; };
}

См. Связанную тему:

Превосходство безымянного пространства имен над статическим?

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