错误C3699:' ^' :不能在类型' std :: string'上使用此间接方式

时间:2014-05-15 15:27:38

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

我正在尝试从此代码中的应用程序访问lync我收到错误。

error C3699: '^' : cannot use this indirection on type 'std::string'
error C2440: 'initializing' : cannot convert from 'System::String ^' to 'std::string *'
    1>        No user-defined-conversion operator available, or
    1>        Cannot convert a managed type to an unmanaged type

我的代码如下:

 #using <Microsoft.Lync.Model.dll>
 #using <Microsoft.Lync.Utilities.dll>

 //namespace provided that DLL
 using namespace Microsoft::Lync::Model;

  //Function which is using that DLL
   void getusername()
  {
   LyncClient ^lyncClient;
   string     ^text=lyncClient->Self->Contact->GetContactInformation(ContactInformationType::DisplayName)->ToString();
  }

1 个答案:

答案 0 :(得分:3)

ToString()正在返回托管System::String类型。这与非托管std::string类型不同。

要从一个转换为另一个,请使用marshal_as