我试图通过利用using namespace
Windows 窗体项目来节省一些编码时间。我在 VS2010 中使用 C++/CLI 创建了一个默认的 Windows 窗体项目。我注意到导入的默认命名空间是:
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
我想创建一个DialogResult
-typed 变量,它(足够方便!)位于System::Windows::Forms
命名空间内。我进入默认构造函数Form1
并添加以下行:
DialogResult dr;
我得到编译器错误syntax error : missing ';' before identifier 'dr'
。
但是,如果我将行更改为:
Windows::Forms::DialogResult dr;
或者
System::Windows::Forms::DialogResult dr;
然后一切都按预期工作。
我也尝试添加
using namespace System::Windows;
进而
Forms::DialogResult dr
也有效!
关于这些命名空间的工作方式,我缺少什么?!我想避免必须完全限定我正在编写的所有代码,但我无法弄清楚我做错了什么,因为我需要的命名空间应该已经被导入。