ヘッダー ファイルでジェネリック関数宣言を行い、その後の定義を定義ファイルで行うことはできますか?
私はこのようなことをしたいです
HEADER FILE:
#ifndef PROCEDURES_H
#define PROCEDURES_H
template<class T>
T max(const T&, const T&);
#endif
DEFINITION FILE:
#include "procedures.h"
template<class T>
T max(const T& left, const T& right)
{
return left > right ? left : right;
}
これにより、リンカー エラーが発生します。
もちろん、すべてをヘッダーに入れるだけで問題なく動作します。