Поделиться через


Ошибка компилятора C2245

несуществующая функция-член "функция" указана как дружественная (сигнатура функции-члена не соответствует ни одной перегрузке)

Функция, указанная как дружественная, не найдена компилятором.

Следующий пример приводит к возникновению ошибки C2245:

// C2245.cpp
// compile with: /c
class B {
   void f(int i);
};

class A {
   int m_i;
   friend void B::f(char);   // C2245
   // try the following line instead
   // friend void B::f(int);
};

void B::f(int i) {
   A a;
   a.m_i = 0;
}