回答編集履歴
1
微修正
test
CHANGED
@@ -8,11 +8,11 @@
|
|
8
8
|
|
9
9
|
コンパイラはsample.cppをコンパイルしている時は、sample.cppの情報だけを使ってコンパイルします。
|
10
10
|
|
11
|
-
つまり、main.cppの情報を持ちません。
|
11
|
+
つまり、main.cppの情報を持ちません。main.cppではテンプレートを使う際にテンプレートの仮引数に型を指定していますが、どのような型を指定しているのかsample.cppをコンパイルしている時のコンパイラは知らないのです。(知るための仕組みがない。)
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
|
15
|
+
sample.cppで定義されているクラス・テンプレートのメンバ関数をコンパイルする際には、知っている範囲の「テンプレート仮引数に指定された型」を当てはめますので、sample.cppでテンプレートを実体化しない限り、クラス・テンプレートのメンバ関数はコンパイルされません。
|
16
16
|
|
17
17
|
|
18
18
|
|