статическая структура в C / C++

static struct K {  int x; };

это действительно в C и c++?

4 ответов


действителен в C. неправильно сформированный в C++

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

проверить

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



В C это действительно, но бесполезно.

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


нет... Это недопустимо в C++. Альтернативой является (C++) : unnamed namespace

namespace 
{
   struct K {  int x; };
}

посмотреть эту тему:

превосходство имен за статический?