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