[#ff0a4fec]テンプレートクラスは、テンプレート関数およびインライン関数と同じく、「宣言と実体を別ファイルに書く」ことができません。[#n262bf4d]上の注意に書いたように、メンバ関数の宣言と定義を別ファイルに書くことはできませんが、一つのファイル内で別の場所に書くことならできます。}もちろん、typenameが二つ以上あればメンバ関数定義のクラス名の指定にもその数だけ書きます。スタンダードテンプレートライブラリ)という物があります。~これは何かというと、「便利な機能をまとめたクラスを、テンプレートを使って様々な型に適用できるようにしたもの」です。~例えば、-どんな型でも入る(テンプレートの機能)、自由に伸び縮みする配列(クラスを使って実装)のようなもの-どんな型でも入る(テンプレートの機能)、ハッシュ表(クラスを使って実装)のようなものなどがあります。~-→[[参考サイト>#pe9f2fcd]]//残念なことに、STLは量が多く全てを網羅して使い方を解説している情報源は非常に少ないです。C++編(標準ライブラリ):http://www.geocities.jp/ky_webid/cpp/library/index.html]]』くらいしかない。Reference:http://www.cppreference.com/]]』がおすすめ。)残念なことに、STLは量が多く全てを網羅して使い方を解説している情報源は非常に少ないです。C++編(標準ライブラリ):http://www.geocities.jp/ky_webid/cpp/library/index.html]]』くらいしかない。Reference:http://www.cppreference.com/]]』がおすすめ。[#z883fba1]C++はCの(ほぼ)上位互換であり、同じコンパイラでコンパイルできます。~しかし、C++からCの関数を呼び出すには注意が必要です。未解決ですと表示され、ビルドできません。(VC++6.0に限らずどんな開発環境でもビルドできない)~では、これを解決する方法を説明します。#endifこれでめでたくビルドに成功します。[#ua7c866c]なんでこんなことが必要なのか知りたい人のために解説です。~まず、C、C++のコードはコンパイラによってアセンブリ言語に変換されます。~その際、各関数にあたる部分のコードのはじめには、ラベルという目印が付きます。使う必要が発生します。情報を持ったラベル名が使われます。_acharpのようになるわけです。(これは例で、実際のラベル名は符号化されてぱっと見ても引数の型がわかるようにはなっていませんが。いうラベルは見つからずエラーとなります。どのような意味があるかというと、「この関数はCのラベル名で探してね」とコンパイラに指定する働きがあります。_aとなり、めでたく関数aを見つけることができて呼び出せる、というわけです。C++モードでコンパイルすればいいということに気づきます。修正しなくてもすみます。