回答編集履歴
3
「際」が重なってしまっているのを修正
test
CHANGED
@@ -8,4 +8,4 @@
|
|
8
8
|
|
9
9
|
提示された書き方だと、ヘッダファイル(*.hpp)をインクルードしたソース(*.cpp)の全てに同名の関数定義が含まれてしまうことになります。
|
10
10
|
|
11
|
-
リンクの
|
11
|
+
リンクの時に全ソースファイルを突き合わせる際に、同じ関数が複数存在することになるのでエラーとなります。
|
2
誤字修正。
test
CHANGED
@@ -8,4 +8,4 @@
|
|
8
8
|
|
9
9
|
提示された書き方だと、ヘッダファイル(*.hpp)をインクルードしたソース(*.cpp)の全てに同名の関数定義が含まれてしまうことになります。
|
10
10
|
|
11
|
-
リンクの
|
11
|
+
リンクの際に全ソースファイルを突き合わせる際に、同じ関数が複数存在することになるのでエラーとなります。
|
1
言い回し修正。
test
CHANGED
@@ -2,8 +2,10 @@
|
|
2
2
|
|
3
3
|
普通は、ヘッダファイルにはclass定義などの宣言のみを書き、関数定義はソースファイル側に書きます。
|
4
4
|
|
5
|
+
(ヘッダ側にinlineで置くことも一応は出来ます。実際class宣言内で定義している関数はinline扱いになっています)
|
5
6
|
|
6
7
|
|
8
|
+
|
7
|
-
提示された書き方だと、ヘッダファイル(*.hpp)をインクルードしたソース(*.cpp)の全てに関数定義が含まれてしまうことになります。
|
9
|
+
提示された書き方だと、ヘッダファイル(*.hpp)をインクルードしたソース(*.cpp)の全てに同名の関数定義が含まれてしまうことになります。
|
8
10
|
|
9
11
|
リンクので全ソースファイルを突き合わせる際に、同じ関数が複数存在することになるのでエラーとなります。
|