-3
私の.hppファイル内の関数の署名と私の.cppファイル内の定義があります。.hpp内に署名を持つ.cppファイル内にインライン関数を定義するにはどうすればよいですか?
これを試すたびにリンカーエラーが表示されますが、「インライン」という単語を削除するとすぐに消えてしまいます。
私の.hppファイル内の関数の署名と私の.cppファイル内の定義があります。.hpp内に署名を持つ.cppファイル内にインライン関数を定義するにはどうすればよいですか?
これを試すたびにリンカーエラーが表示されますが、「インライン」という単語を削除するとすぐに消えてしまいます。
インライン関数は、odrが使用されているすべての変換単位で定義する必要があります。関数をインラインにしたい場合は、ヘッダーに関数を定義する必要があります。ヘッダーに宣言して.cpp
ファイルに定義する場合は、inline
というマークを付けないでください。
[最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)を含めてください。 –
短い答え:あなたはしません – Slava
'inline'の全体のポイントは、関数定義をヘッダに置くことができるようにすることです。インラインで関数をインライン化するように 'inline'を使用しようとしている場合は、それを心配しないでください。現代のコンパイラは 'inline'キーワードを与えてもいなくても、適切と思われる関数をインライン展開します。 – 0x5453