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