Следующие идентификаторы не имеют связи: идентификатор, объявленный как что-либо, кроме объекта или функции;идентификатор, объявленный как параметр функции; идентификатор области блока для объекта, объявленного без спецификатора класса хранения extern .
{
static int a; //no linkage
}
Для идентификатора, объявленного с помощью спецификатора класса хранения extern вобласть видимости, в которой видна предыдущая декларация этого идентификатора, если в предыдущей декларации указана внутренняя или внешняя связь, связь идентификатора в более поздней декларации такая же, как и связь, указанная в предыдущей декларации.Если никакого предварительного объявления не видно, или , если в предыдущем объявлении не указана связь , , тогда идентификатор имеет внешнюю связь .
{
static int a; //no linkage
extern int a; //a should get external linkage, no?
}
Ошибка GCC:внешнее объявление следующего объявления без связи
Может кто-нибудь объяснить мне, почему я получаю эту ошибку?
Спасибо