重複の可能性:
非静的メンバー関数のデフォルト引数としての非静的メンバー
間違っている場合は訂正してください。ただし、デフォルトのパラメーターが機能すると私が考える方法は次のとおりです。
コンパイラが関数呼び出しを確認すると、パラメーターをスタックにプッシュし始めます。パラメータがなくなると、必要なすべてのパラメータが満たされるまでデフォルトをスタックにプッシュし始めます (パラメータは実際には右から左にプッシュされるため、これは単純化されているため、デフォルトで開始されますが、考え方は同じです)。
これが本当なら、メンバー変数をデフォルトとして使用できないのはなぜですか? コンパイラはコール サイトでいつものようにそれらをプッシュしているので、問題なく解決できるはずです。
編集回答から私の質問が誤解されているように見えるので、明確にさせてください。私はこれが事実であることを知っており、言語で許可されていることと許可されていないことを知っています。私の質問は、自然に機能するように見えるのに、言語設計者がこれを許可しないことを選択した理由です。