我有一行看起来如下:
F::enable<sizeof(value_type), offset>(index);
我收到以下编译器错误(GCC 6.3.1):
error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘long unsigned int’ to binary ‘operator<’
显然,左尖括号被解释为小于运算符,而不是模板参数列表的开头。 F是一个模板参数(F类),我希望它包含一个带有签名的静态成员函数:
template <GLsizei stride, const GLvoid* offset>
static void enable(GLuint index);
我尝试过自由插入空格,查看typedeffing函数,查看转移到常规函数(由于继承事情不可能)。我已经注释掉了这条线,看看上面是否有什么东西引起了问题,没有骰子。有没有办法向编译器解释我不想比较函数和size_t,我想在类中调用静态成员函数的特定特化?
答案 0 :(得分:5)