error C2556: 'void __thiscall......overloaded function differs only by return type from 'int __thiscall

 

 

 此错误说明的是: 重载函数仅仅只有返回类型不同  这在c++中是不允许的 所以报出错信息

 

 

 其实我并没有要将函数重载

 

 

class a

{

 

void Func(void);

 

}

 

 

class b

{

 

friend a::Func(void);  //        应为 friend void a::Func(void);

 

}

 

编译器查找啊a::函数 找到void  Func(void) 没有找到完全一样的 ,故而以为要重载这个函数。

 

 

可见,这个void也不是可以随便省略的 否则可能会报错

 

 

还有一个 bool BOOL  

 

如果声明 用bool

 

定义用 BOOL

 

也是会报错的

 

 

参考资料: 

 

http://hi.baidu.com/nebulas/blog/item/2ee28cfa3a6962284f4aeac0.html

 

 

你可能感兴趣的:(c,function,Class,编译器)