1

我有一个头文件定义了一些我想在我的代码中使用的结构。

public value struct HttpHeader
{
   Platform::String^ mName;
   Platform::String^ mValue;

};
typedef Platform::Collections::Vector<HttpHeader> HttpHeaders;

public value struct HttpRequestEvent
{
   Platform::String^ mUri;
   HttpHeaders^ mHeaders;
};

当我建立这个我得到这个错误:

error C3986: 'mHeaders': signature of public member contains native type 'std::equal_to<_Ty>'
      with
      [
          _Ty=cpcpb::HttpHeader
      ] (SettingsServiceImpl.cpp)

我在这里想念什么?不是我使用 C++/Cx 的所有东西吗?

4

1 回答 1

6

使用Windows::Foundation::Collections::IVector而不是Platform::Collections::Vector.

要使用Platform::Collections::Vector,您必须提供一个自定义比较器,即等于运算符。

检查此链接 - http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/5ec2090f-b7e6-40e8-9cd7-75cf36d05ab3/

于 2012-08-02T02:45:27.310 回答