我知道这个问题的常见答案,但出于某种原因,当我在Code :: Blocks上使用正确的语法时出现错误,我会发布一个示例来显示我不虚张声势:额外资格成员GCC
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
在此先感谢您提供的任何帮助。
缺少大括号和/或分号的头文件中的类或结构? –
yup,当有很多随机看错误时,通常是它的1个非常琐碎的标点符号问题。 –
显示的第一个错误是什么? –