intellisense不适用于名称空间别名?

时间:2013-04-12 05:48:02

标签: visual-studio-2008 visual-c++ ide

目前我正在开发visual studio 2008中的C ++项目。我有很长的命名空间

System::Drawing::Rectangle 

并希望为这些使用别名

namespace SDR = System::Drawing::Rectangle;

但是intellisense不识别这些别名。 我个人不是using指令的粉丝,我个人的偏好是限定完整的命名空间。但我也不喜欢这些命名空间阻塞编辑器。那么这个intellisense问题有一个解决方法吗?还是我错过了什么?并且提到这些别名是块范围的。

1 个答案:

答案 0 :(得分:1)

Rectangle是类型名称,而不是命名空间名称。所以你需要这样做:

namespace SD = System::Drawing;
SD::Rectangle rc(0, 0, 10, 20);

或者这样:

typedef System::Drawing::Rectangle SDR;
SDR rc(0, 0, 10, 20);

谨防那些需要在某一天维护代码并知道你住在哪里的程序员。