2010-04-07 108 views
2

我是C++/CLI的初学者,因为我来自C#背景。我目前正在编写一些本地C++代码的封装。我有以下方法:C++/CLI .ToString()返回错误

void AddToBlockList(System::String^ address) 
    { 
     char* cAddress = (char*)(void*)Marshal::StringToHGlobalAnsi(address); 
     _packetFilter->AddToBlockList(cAddress); 
    } 

    void AddToBlockList(IPAddress^ address) 
    { 
     char* cAddress = (char*)(void*)Marshal::StringToHGlobalAnsi(address.ToString()); 
     _packetFilter->AddToBlockList(cAddress); 
    } 

...第一种方法工作正常,并将我的字符串转换为字符数组。然而,随着ip地址对象作为signiture第二功能给了我以下错误:

error C2228: left of '.ToString' must have class/struct/union 

...当我键入

? address.ToString() 

...在命令窗口中,IP地址打印。不知道我哪里错了。有任何想法吗?

回答

5

address->ToString()