namespace + friend
От: x-code  
Дата: 17.04.15 18:16
Оценка:
Такой код
namespace ns
{
    class C
    {
        friend void foo(C *pc);
        //friend void foo(ns::C *pc); // - без разницы
        int x;
    };
}

void foo(ns::C *pc)
{
    pc->x = 10;
}


выдает ошибку

'ns::C::x' : cannot access private member declared in class 'ns::C'


если убрать пространство имен, то ошибки нет. Но убирать нельзя. Как можно это побороть?
компилятор vs2013.
Отредактировано 17.04.2015 18:17 x-code . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.