类中遇到快速排序,准备把排序函数声明为静态的,于是有了以下代码:
class BmpPixmap{
static int cmp_Byte (const void *p1, const void *p2);
}; /* ----- end of class BmpPixmap ----- */
static intBmpPixmap::cmp_Byte (const void *p1, const void *p2)
{
return (* (Byte *) p1 - * (Byte *) p2);
} /* ----- end of method BmpPixmap::cmp_Byte ----- */
结果出现了错误:
不能将成员函数‘static int BmpPixmap::cmp_Byte(const void*, const void*)’声明为有静态链接
这个是因为声明的时候已经提过是静态的了,实现的时候就不能再说一遍了,把实现函数的 static 去掉即可。