член дополнительной квалификации GCC

Я знаю общий ответ на этот вопрос, но по какой-то причине я получаю ошибку при использовании правильного синтаксиса, на Code :: Blocks, я опубликую пример, чтобы показать, что я не блефую:

  class BulletPlacer : sf::Drawable
{
public:
BulletPlacer();
BulletPlacer(const unsigned Quantity);

~BulletPlacer();
};

Это была небольшая часть файла hpp.

   BulletPlacer::BulletPlacer()
:Amount(0), Min(0)
{}

BulletPlacer::BulletPlacer(const unsigned Quantity)
:Amount(Quantity), Min(0)
{
Bullet shot;
ShotVec.reserve(Amount);
for(unsigned i = 0; i < Amount; ++i)
{ ShotVec.push_back(shot); }
}

BulletPlacer::~BulletPlacer() { PolVecV.clear(); ShotVec.clear(); }

И это был CPP. Это скомпилировалось нормально, пока я не начал рефакторинг класса, и я получил ошибку со всеми методами. Я также получаю другие ошибки, которые вообще не имеют места, и я получаю их со всеми функциями в классе. Я даже заново загрузил версию GCC, но обнаружил, что она дает мне точно такой же результат.

Вот упрощенная версия журнала ошибок:

error: extra qualification 'BulletPlacer::' on member 'BulletPlacer' [-fpermissive]|
error: 'BulletPlacer::BulletPlacer()' cannot be overloaded|
error: with 'BulletPlacer::BulletPlacer()'|

И так повторяется со всеми функциями. Это очень раздражает, так как я не могу продвинуться вообще с моей игрой SFML только из-за этого и проверять файл на 300 строк на возможные ошибки только потому, что компилятор злится на меня, это совсем не весело. И нет, ни один из файлов, которые используются «BulletPlacer», не получает это.

И что еще хуже, совершенно не связанный класс тоже получает нечто подобное:

error: cannot define member function 'BulletPlacer::Enemy::Enemy' within 'BulletPlacer'

Когда класс даже не включает файл …

Я использую GCC 4.7.1

Заранее спасибо за любую помощь, которую я могу получить.

3

Решение

Ошибки подразумевают, что компилятор считает, что эти определения находятся в лексическом смысле в определении класса, что подразумевает отсутствие }; или что-то подобное.

Это все, что я могу сказать по предоставленной информации.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector