GCC 6.1.1 дает предупреждение о недопустимом объявлении кода С++
struct foo
{
__attribute__ ((deprecated)) static const int a = 1;
};
dep.cpp:1:8: warning: ‘foo::a’ is deprecated [-Wdeprecated-declarations]
struct foo
^~~
dep.cpp:3:50: note: declared here
__attribute__ ((deprecated)) static const int a = 1;
Как предупреждение указывает на первую строку (struct foo), означает ли это, что предупреждение возникает потому, что структура "использует" устаревший элемент? Есть ли способ использовать устаревший атрибут для элементов static const struct?
GCC 4.9.3, похоже, не дает этого предупреждения.