کار نسبتا راحتی هستش از static_assert و std::is_same استفاد کنید
#include <iostream>
#include <vector>
template<typename T>
class A
{
public:
void func(){
static_assert(std::is_same<T, int>::value, "T must be int");
}
private:
std::vector<T> myVector;
};
int main(int argc, char* argv[])
{
A<int> a;
a.func();//ok
A<char> b;
//b.func();//error
}