Как можно передать указатель на метод одного класса другому?
никак не могу добиться результата.
пока дошел до этого:
я хочу сказать классу C2DPolygon каким образом рисовать пиксель.
файл "C3DPolygon.hpp"
#include "window.h"
/*...*/
class C2DPolygon
{
public:
std::vector<C2DPoint> m_points;
int m_texture;
public:
C2DPolygon();
~C2DPolygon();
void (*CMainWin::putpixel)(int,int,char);
void DrawScanline(int x1, int x2, int y, char c);
/*...*/
};
/*...*/
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
/*** 2D ***/
inline C2DPolygon::C2DPolygon()
{
}
inline C2DPolygon::~C2DPolygon()
{
}
inline void C2DPolygon::DrawScanline(int x1, int x2, int y, char c)
{
for (int x = x1; x<=x2; x++);
(*putpixel)(x,y,c);
}
файл "window.h"
#include "C3DPolygon.hpp"
class CMainWin : public CFrameWnd
{
private:
/*...*/
public:
CMainWin();
DECLARE_MESSAGE_MAP();
/*...*/
static void PutPixel(int x, int y, char c)
{
SetPixel(dc,x,y,RGB(c,c,c));
}
/*...*/
};
тут, в модуле C3DPolygon.hpp не виден класс CMainWin
Что тут не так? может быть сама идея в корне не верна?