这实际上已经发生过两次了。我正在编写一个跨平台的应用程序,我的一些函数名称与Windows API冲突。我所做的(例如使用LoadObject)是......
#undef GetObject
这是一个好的方法,还是应该重命名我的功能?
答案 0 :(得分:1)
您可以将函数放在命名空间或类中(如果适用)。如果您在课堂上打电话,请记住this
关键字。 this->aliasedFunction();
答案 1 :(得分:1)
如果您打算将代码与Windows API一起使用,我建议您重命名这些功能。是的,这是一个麻烦,但它(在我看来)比取消定义Windows API的部分更好,即使你不使用这些部分(其他人使用你的代码可能需要使用这些部分)。
答案 2 :(得分:0)
如果你正在使用C ++,你应该把你的函数放到类和命名空间中以避免这些问题(a.k.a方法)。