我有一个 C++ 模板类
// Definition
template <typename T>
class MyCLass {
public:
typedef typename T::S MyS; // <-- This is a dependent type from the template one
MyS operator()(const MyS& x);
};
// Implementation
template <typename T>
MyCLass<T>::MyS MyClass<T>::operator()(const MyClass<T>::MyS& x) {...}
我想要的是重载运算符在isoperator()
时的行为不同。MyS
double
我考虑过专业化,但是考虑到专业化应该作用于依赖于类型的类型,在这种情况下怎么办?谢谢