由于我的软件必须支持其他组件的多个版本,因此它需要能够使用不同的API和回调函数签名。为了支持这一点,我正在写这样的代码:
#if ( defined NEW_VERSION )
void MyFunc1(ParamType1 Param1, ParamType2 Param2)
#endif
#if ( defined OLD_VERSION )
void MyFunc1(ParamTypeA Param1, ParamType2 Param2)
#endif
{
/* implementation */
/* handles the different Param1 where necessary */
}
请注意 ParamType1 与 ParamTypeA 之间的区别。
我现在的问题是IntelliSense不再在功能列表中显示MyFunc1。编译或使用自动完成功能时没有问题。但至少它从下拉菜单中消失了。
有没有人遇到过这个问题并且知道如何修复它或者是一个好的解决方法?
我在Windows 7 Professional 64位上使用Visual Studio 2010 Professional。