>>695
コンパイラが各cppファイル(翻訳単位)をそれぞれコンパイルした後、
できたオブジェクトファイルをリンカがくっ付けて1つの実行ファイルを作っている。

コンパイラは各翻訳単位を独立にコンパイルしている。
だから1つの翻訳単位を処理しているときには他の翻訳単位に目が行かない。
目が行かないから関数がヘッダに無い場合inlineかわからないし、わかってもインライン展開できない。