test.h: template class Test { public: /// @brief Default constructor. Test() {}; /// @brief Destructor ~Test() {}; /// @brief test run void run(DATATYPE *io, const uint32_t size); }; test.cpp: #include "test.h" template void Test::run(DATATYPE* io, const uint32_t size) { return; } template<> void Test::run(int32_t* io, const uint32_t size) { return; } class Dummy { Test ttt[10]; /// 허허허... };