3
別の翻訳単位(別のライブラリでも)から呼び出されることを知って、匿名の名前空間にコールバック関数を宣言することができます別の翻訳単位からのポインタを介して内部リンケージを持つ関数を呼び出す
いくつかのlib:
void register_callback(void (*cb)())
{
..
cb();
..
}
メインプログラム
namespace {
int foo_cb() { ... } // internal linkage
}
int main()
{
register_callback(foo_cb);
}
名前とオブジェクトの区別が良好です。 – SergeyA