• В чем ошибка std::function?

    vusalg
    @vusalg Автор вопроса
    Студент программист, второй курс
    В классе все работает, но такой вариант мне не подходит, разве что если поля и методы статическими задать, но это не получается

    class t {
    public:
        bool mygl_Init(const char *);
        void mygl_Quit();
        void glClear(GLbitfield mask);
        void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
    private:
        std::function < void (GLbitfield) > _glClear;
        std::function < void (GLclampf, GLclampf, GLclampf, GLclampf) > _glClearColor;
    };


    typedef void ( * PGLCLEARPROC )  (GLbitfield mask);
    typedef void ( * PGLCLEARCOLORPROC )  (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
    
    bool t::mygl_Init(const char *str)
    {
        if (SDL_GL_LoadLibrary(str) < 0)
        {
            return false;
        }
    
        return true;
    }
    
    void t::mygl_Quit()
    {
        SDL_GL_UnloadLibrary();
    }
    
    void t::glClear ( GLbitfield mask)
    {
        if( !_glClear )
            _glClear = (PGLCLEARPROC) SDL_GL_GetProcAddress( "glClear" );
        else
            _glClear (mask);
    }
    void t::glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
    {
        if( !_glClearColor )
            _glClearColor = ( PGLCLEARCOLORPROC ) SDL_GL_GetProcAddress( "glClearColor" );
        else
            _glClearColor (  red,  green,  blue,  alpha );
    }
    Ответ написан
    Комментировать
  • Какую ОС поставить для старого ноутбука?

    vusalg
    @vusalg
    Студент программист, второй курс
    xubuntu 14.04 LTS
    Я ее сейчас использую. Занимает около 270 мб ОЗУ. Драйвера и так далее установятся автоматически. Скачать можно здесь
    Далее все стандартно, записываете образ на флешку, запускаете ее через BIOS. Установка не сложная.
    Ответ написан
    Комментировать
  • Как написать односвязный список с произвольным типом элементов?

    vusalg
    @vusalg
    Студент программист, второй курс
    /* ваш собственный тип */
    struct temp
    {
        int age;
        char name[100];
       //и т.д.
    }
    
    
    struct node 
    {
       temp         data;
       struct node* next;
    };
    Ответ написан
    Комментировать
  • Доступ к полям базового класса?

    vusalg
    @vusalg
    Студент программист, второй курс
    Дружище, попробуй воспользоваться дружественными функциями, мб поможет решить проблему) мне помогло)
    Ответ написан