IntelliSense:没有重载函数的实例“System :: Net :: WebHeaderCollection :: set”匹配参数列表

时间:2016-02-21 01:26:56

标签: visual-c++ c++-cli

尝试使用方括号语法设置密钥...

request->Headers["Accept-Encoding"] = "gzip, deflate";

我收到以下错误:

IntelliSense: no instance of overloaded function "System::Net::WebHeaderCollection::set" matches the argument list
        argument types are: (const char [16], const char [14])
        object type is: System::Net::WebHeaderCollection ^

明确传入String^参数时......

request->Headers[gcnew String("Accept-Encoding")] = gcnew String("gzip, deflate");

我明白了:

IntelliSense: no instance of overloaded function "System::Net::WebHeaderCollection::set" matches the argument list
        argument types are: (System::String ^, System::String ^)
        object type is: System::Net::WebHeaderCollection ^

然而,

request->Headers->Set("Accept-Encoding", "gzip, deflate");

工作正常。那么这里发生了什么?

1 个答案:

答案 0 :(得分:1)

您的代码的所有三个版本都可以编译和运行,因此这看起来就像是一个Intellisense错误。我可以在任何具有重载索引器的类中重现它,其setter可以采用Int32或String ^ index参数。我发现Intellisense在C ++ / CLI中非常不稳定,所以这可能是你会发现的许多瑕疵中的第一个。

考虑将问题报告给https://connect.microsoft.com/