假设一些第三方开发者编写的函数一个已经采取了函数名
int GetErrorCode(const object * p);
该函数返回只有某些int
值,因此我很想写我自己的ErrorCode
枚举类,它包含所有可能的返回值。然后写一点更新功能:
enum class ErrorCode : int {};
ErrorCode GetErrorCode2(const object * p){
return (ErrorCode)GetErrorCode(p);
}
问题是我希望我的功能被命名为GetErrorCode
,而不是更少直观GetErrorCode2
。
我该如何做到这一点?也许有一种方法来交换函数名称或什么?
我建议反对'using namespace foo;' - 它引入*一切*并且抛出全局命名空间,超出你的需要。首选更具体的'使用foo :: func;'来引入你需要的特定内容,并尽可能缩小范围。或者只是坚持完全限定你使用'foo :: func();'。 –
@JesperJuhl:同意。 '你使用它的地方'应该是函数体,但是'使用foo :: func'更好 - 编辑.. – lorro
using语句只会让名称冲突再次出现,你将名字冲突带回这样做。 – rubenvb