Я пытаюсь написать базовую первую программу в аллегро

Итак, я использую последнюю версию и последнюю версию Allegro, но в строках 6 и 12 я, кажется, столкнулся с некоторыми ошибками, которые мне пока не ясны. Я очень новичок в C++, а также в Allegro, поэтому любая помощь будет очень признательна.

Для строки 6 у меня есть сообщение об ошибке: "expected identifier or '(' before string constant Для строки 12 у меня есть сообщение об ошибке: "'display' undeclared (first use in this function)

#include<allegro5/allegro.h>
#include<allegro5/allegro_native_dialog.h>

    int main()
    {
        ALLEGRO_DISPLAY "display";

        if(!al_init())
        {
            al_show_native_message_box(NULL, NULL, NULL, "Could not initialize Allegro 5", NULL, NULL);
        }
            display = al_create_display(800, 600);

            if(!display)
        {
            al_show_native_message_box(NULL, NULL, NULL, "Could not create Allegro Window", NULL, NULL);

        }

        return 0;
    }

person NicholasP95    schedule 04.06.2014    source источник
comment
Измените отображение на отображение... удалите кавычки.   -  person Abhineet    schedule 04.06.2014
comment
alleg.sourceforge.net/a5docs/4.9.14/ ALLEGRO_DISPLAY — это структура.   -  person Balu    schedule 04.06.2014


Ответы (2)


ALLEGRO_DISPLAY "display";

Если вы хотите объявить переменную типа ALLEGRO_DISPLAY с именем display, кавычек быть не должно.

Но al_create_display возвращает не ALLEGRO_DISPLAY, а указатель на него, поэтому правильная строка будет такой:

ALLEGRO_DISPLAY* display;
person Appleshell    schedule 04.06.2014

Измените строку 6 на:

ALLEGRO_DISPLAY *display;

В этой строке объявляется переменная с именем "display" типа (указатель на) ALLEGRO_DISPLAY. Таким образом, строка 12 больше не должна вызывать ошибку.

Соответствующая документация:

person Leftium    schedule 04.06.2014