12四/090
C++ 中出现“不能将成员函数声明为有静态链接“的解决方法
类中遇到快速排序,准备把排序函数声明为静态的,于是有了以下代码:
class BmpPixmap
{
……
static int cmp_Byte (const void *p1, const void *p2);
……
}; /* ----- end of class BmpPixmap ----- */
static int
BmpPixmap::cmp_Byte (const void *p1, const void *p2)
{
return (* (Byte *) p1 - * (Byte *) p2);
} /* ----- end of method BmpPixmap::cmp_Byte ----- */
结果出现了错误:
这个是因为声明的时候已经提过是静态的了,实现的时候就不能再说一遍了,把实现函数的 static 去掉即可。 转载请注明:转自K.I.S.S. - 简单哲学 - C++ 中出现“不能将成员函数声明为有静态链接“的解决方法不能将成员函数‘static int BmpPixmap::cmp_Byte(const void*, const void*)’声明为有静态链接
你可能对这些感兴趣:
