class A
{
...
protected:
void someMethod(tPvFrame* pData){ value = 1; }
private:
int value;
friend void func(tPvFrame* pData);
};
------------------------cpp-file-----------------------
....
void func(someStruct* pData)
{
A* someClass = (A*)pData->Context[0];
if(A)
A->someMethod(pData);
}
Не понимаю до конца как работает этот механизм... Объясните пожалуйста, если кто-то знает.
friend void func(tPvFrame* pData);
Это свободная функция, а не член класса. Самая обычная, просто - в силу friend - имеющая полный доступ ко всем внутренностям класса A, включая те, которые private.
Кстати, что-то не верится, что ваш cpp скомпилируется - friend вне класса смысла не имеет...
Продвижение своими сайтами как стратегия роста и независимости