Я получил эту ошибку:
C2664 'void Graph_lib :: Widget :: attach (Window &)': невозможно преобразовать аргумент 1 из 'Graph_lib :: Window' в 'Window &'
Вот код Window.h
namespace Graph_lib {
class Shape; // "forward declare" Shape
class Widget;
class Window : public Fl_Window {
....
и код Window.cpp, где произошла ошибка
namespace Graph_lib {
....
void Window::attach(Widget& w)
{
begin(); // FTLK: begin attaching new Fl_Wigets to this window
**// I got error from this function**
w.attach(*this); // let the Widget create its Fl_Wigits
end(); // FTLK: stop attaching new Fl_Wigets to this window
}
....
, и код GUI.h, которыйимеет класс виджетов
namespace Graph_lib {
....
class Widget {
....
virtual void attach(Window&) = 0;
....
Я пытался привести и создать переменную, но это все одно и то же.
Window& win = *this;
Graph_lib::Window& win = *this;
w.attach(static_cast<Window&>(*this));
w.attach(dynamic_cast<Window&>(*this));
Что мне делать?