0

目前我正在 Visual Studio 2008 中开发一个 C++ 项目。我的命名空间很长

System::Drawing::Rectangle 

并想为这些使用别名

namespace SDR = System::Drawing::Rectangle;

但智能感知无法识别这些别名。我个人不喜欢using指令,我个人的偏好是限定完整的命名空间。但我也不喜欢那些命名空间堵塞编辑器。所以这个智能感知问题有解决方法吗?还是我错过了什么?并提到这些别名是块范围的。

4

1 回答 1

1

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

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

或者这样:

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

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

于 2013-04-12T11:41:49.397 回答