C のインタビューで非常に興味深い質問をされました。特定の g() 関数からのみ呼び出すことができるように、関数 f() をどのように実装できますか。g() 以外の関数が f() を呼び出そうとすると、コンパイラ エラーが発生します。
最初は、関数ポインターを使用してこれを実行できると思っていましたが、実行時に呼び出しをブロックすることに近づくことができました。しかし、コンパイル時の戦略を考えることができませんでした。ansi Cを使用してこれが可能かどうかさえわかりません。
誰にもアイデアはありますか?