Получение ошибки - std :: ios :: basic_ ios (int) не доступен на машине Solaris Spar c на компиляторе CC - PullRequest
0 голосов
/ 15 января 2020

Я не могу скомпилировать код ниже C ++ на Oracle Solaris 11.1 SPAR C машина: фрагмент кода взят из библиотеки Poco1.9.4 (NetworkInterface. cpp)

std::ostream& operator << (std::ostream& os, const Poco::Net::NetworkInterface::MACAddress& mac)
{
    std::ios state(0);
    state.copyfmt(os);
    for (unsigned i = 0; i < mac.size(); ++i)
    {
        if (i > 0) os << Poco::Net::NetworkInterface::MAC_SEPARATOR;
        os << std::hex << std::setw(2) << std::setfill('0') << (unsigned) mac[i];
    }
    os.copyfmt(state);
    return os;
}

Ошибка:

Ошибка: std :: ios :: basic_ ios (int) не доступен из оператора << (std :: ostream &, const std :: vector &) . </p>

Сведения об операционной системе:

Oracle Solaris 11.1 SPAR C

Сведения о компиляторе:

bash -4,1 $ CC -V

CC: Sun C ++ 5.12 SunOS_spar c 2011/11/16

Ограничение: Не разрешается использовать -library = stlport4 флаг.

Если это невозможно скомпилировать без -library = stlport4 Отметьте, пожалуйста, кто-то может помочь, предоставив эквивалентный код, который работает на машине Solaris Spar c с CC компилятором v5.12

...