テンプレート化されたクラスのメソッドはリンケージを暗示inline
していますか(インライン最適化については話していません)、それとも単にテンプレート化されたメソッドですか?
// A.h
template<typename T>
class A
{
public:
void func1(); // #1
virtual void func2(); // #2
template<typename T2> void func3(); // #3
};
template<typename T>
void A<T>::func1(){} // #1
template<typename T>
void A<T>::func2(){} // #2
template<typename T>
template<typename T2>
void A<T>::func3<T2>(){} // #3
上記のケースはすべてinline
【リンケージ】ですか?inline
(それらのいずれかについて明示的に書く必要がありますか)?