Intellisense中的C++/CLI错误,编译很好

4 visual-studio-2012

......任何人都知道如何解决这些问题?

Visual Studio 2011 Beta,尝试为此准备一些框架,现在通过有限的问题列表.

代码是:

String^ pUser = (System::String^) pConnectionStringBuilder["UserName"];
String^ pPass = (System::String^) pConnectionStringBuilder["Password"];
String^ pBroker = (System::String^) pConnectionStringBuilder["Broker"];
Run Code Online (Sandbox Code Playgroud)

pConnectionStringBuilder是ConnectionStringBuilder的一个实例.

错误:

2   IntelliSense: expression must have pointer-to-object or handle-to-CLI-array type    c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  62  39  Tradex.Connectivity.Rithmic
3   IntelliSense: expression must have integral or unscoped enum type   c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  62  64  Tradex.Connectivity.Rithmic
4   IntelliSense: expression must have pointer-to-object or handle-to-CLI-array type    c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  63  39  Tradex.Connectivity.Rithmic
5   IntelliSense: expression must have integral or unscoped enum type   c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  63  64  Tradex.Connectivity.Rithmic
6   IntelliSense: expression must have pointer-to-object or handle-to-CLI-array type    c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  64  41  Tradex.Connectivity.Rithmic
7   IntelliSense: expression must have integral or unscoped enum type   c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  64  66  Tradex.Connectivity.Rithmic
8   IntelliSense: expression must have pointer-to-object or handle-to-CLI-array type    c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  269 6   Tradex.Connectivity.Rithmic
9   IntelliSense: expression must have integral or unscoped enum type   c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  269 32  Tradex.Connectivity.Rithmic
Run Code Online (Sandbox Code Playgroud)

他们根本没有任何意义;)

还有另外两个警告,但很明显这不是错误:

1> Tradex.Connectivity.Rithmic.vcxproj - > C:\ Work\Tradex\Source\Debug\Tradex.Connectivity.Rithmic.dll rithmicconnector.cpp(104):警告:C6001:使用未初始化的内存'oParams'.rithmicconnector.cpp(108):警告:C6001:使用未初始化的内存'oLoginParams'.1>代码分析完成 - 0个错误,0个警告

它汇编很好.

我试着用pConnectionStringBuilder-> default - 猜测一下;)抱怨.

2   IntelliSense: class "System::Data::Common::DbConnectionStringBuilder" has no member "default"   c:\Work\Tradex\Source\Tradex.Connectivity.Rithmic\RithmicConnector.cpp  62  65  Tradex.Connectivity.Rithmic
Run Code Online (Sandbox Code Playgroud)

顺便提一下也是错误的并且编译;)

我真的不喜欢Intellisense错误.

Igo*_*sky 11

Intellisense for C++/CLI经常会混淆并报告误报错误.它根本不如C#的Intellisense好.公平地说,C++代码通常比C#代码更难分析(例如,如果我将一个#define编译指示添加到头文件中,导入头文件的任何文件的结构可能会完全改变).

一旦我开始看到虚假的Intellisense错误,我通常只是在错误列表窗口中关闭它们:

  1. 右键单击"错误列表"窗口的内容
  2. 取消选中"显示智能感知错误"