Сообщение namespace + friend от 17.04.2015 18:16
Изменено 17.04.2015 18:17 x-code
Такой код
выдает ошибку
если убрать пространство имен, то ошибки нет. Но убирать нельзя. Как можно это побороть?
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'
если убрать пространство имен, то ошибки нет. Но убирать нельзя. Как можно это побороть?
namespace + friend
Такой код
выдает ошибку
если убрать пространство имен, то ошибки нет. Но убирать нельзя. Как можно это побороть?
компилятор vs2013.
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.