我无法专门化以下模板成员函数。我已经看过给出回答SOF的类似问题的解决方案但是提出的解决方案与我下面的代码相同,但似乎没有用。我肯定错过了一些东西。
enum EStep
{
eStep1, eStep2, eStep3
};
template<int16_t iDevice>
struct Device
{
template<EStep step>
static constexpr bool isType() { return false; }
};
template<> template<>
constexpr bool Device<int16_t>::isType<eStep1>()
{
return true;
}
答案 0 :(得分:1)
print(list(data_employer.keys()).index(k), data_employer[k][0], data_employer[k][1])
Device是int16_t的模板,因此要专门化它,您需要提供int16_t值作为模板参数。 e.g。
template<> template<>
constexpr bool Device<int16_t>::isType<eStep1>()
{
return true;
}