Ошибка: ожидаемый инициализатор перед '.' token

Я новичок в использовании классов и объектно-ориентированной части C ++, и у меня в заголовке есть ошибка.

Я пишу игру в Тетрис, используя SDL.

У меня есть определение класса в shape.h

class shape
{
public:
    SDL_Surface *colour;
    int rotation1[4][4];
    int rotation2[4][4];
    int rotation3[4][4];
    int rotation4[4][4];

    bool load();
    void move();

    shape();
};

, а в main.hi я включил shape.h и определил экземпляры класса с помощью

//Create shapes
shape O, T, S, L, R, Z, I;

. У меня также есть отдельные файлы для каждой формы, такие как I.cpp для каждой. shape будет иметь другой код для загрузки изображения для его цвета блока в цвет SDL_Surface и для различных массивов различных вращений блока, поэтому я разделил это на один файл для каждого блока.

В I.cpp я включил main.h и попытался настроить функцию загрузки для I следующим образом:

bool I.load()
{
    //if loading the cyan square texture fails
    if ((I.colour = surface::onLoad("../Textures/cyanSquare.png")) == NULL)
    {
        //print error
        cout << "Unable to load cyanSquare.png";
        //return fail
        return false;
    }

    I.rotation1 = {{7,7,7,7},
                   {0,0,0,0},
                   {0,0,0,0},
                   {0,0,0,0}};
    I.rotation2 = {{0,0,7,0},
                   {0,0,7,0},
                   {0,0,7,0},
                   {0,0,7,0}};
    I.rotation3 = {{7,7,7,7},
                   {0,0,0,0},
                   {0,0,0,0},
                   {0,0,0,0}};
    I.rotation4 = {{0,0,7,0},
                   {0,0,7,0},
                   {0,0,7,0},
                   {0,0,7,0}};

    return true;
}

Когда я пытаюсь скомпилировать его (используя GCC), он сообщает об ошибке в строке 3 I.cpp. of:

error: expected initializer before '.' token

Я совершенно не понимаю, что это означает, и не смог найти ничего полезного при поиске в Google этого кода ошибки, поэтому любая помощь будет принята с благодарностью.

0
задан meagar 29 April 2011 в 16:23
поделиться