Можно ли объявить функцию со связью C без внешней связи ? При попытке скомпилировать
extern "C" static void f() {}
я получаю
f.cc:1: error: invalid use of 'static' in linkage specification
, что в некотором смысле имеет смысл. В пространстве имен {extern "C" void f () {}}
спецификатор extern
, похоже, переопределяет ограниченную область действия анонимного пространства имен.
Если это невозможно, делает ли это имеет значение при передаче указателя функции на C?