假设一些第三方开发人员编写了一个函数
int GetErrorCode(const object * p);
此函数仅返回特定的 int
值,因此我很想编写自己的 ErrorCode
枚举类,其中包含所有可能的返回值。然后写一点更新函数:
enum class ErrorCode : int {};
ErrorCode GetErrorCode2(const object * p){
return (ErrorCode)GetErrorCode(p);
}
问题是我希望我的函数被命名为 GetErrorCode
而不是那么不直观的 GetErrorCode2
。
我怎样才能做到这一点?也许有一种方法可以交换函数名称或其他东西?
最佳答案
使用命名空间:
namespace MyLibrary {
ErrorCode GetErrorCode(const object *p) {
int origResult = ::ErrorCode(p);
// use :: to explicitly call outer function to avoid recursion
...
}
}
然后你可以这样调用这个函数:
MyLibrary::GetErrorCode(obj);
关于c++ - 使用已被占用的函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38924385/