Я новичок в C ++ / CLI, поскольку пришел из C # фона. В настоящее время я пишу оболочку для некоторого собственного кода C ++. У меня есть следующие методы:
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);
}
... Первый метод работает нормально и преобразует мою строку в массив символов. Однако вторая функция с объектом IPAddress в качестве подписи выдает мне следующую ошибку:
error C2228: left of '.ToString' must have class/struct/union
... Когда я печатаю
? address.ToString()
... в командном окне печатается IP-адрес. Не уверен, где я иду не так. Есть идеи?