C++ 额外资格成员GCC

C++ 额外资格成员GCC,c++,gcc,compiler-errors,C++,Gcc,Compiler Errors,我知道这个问题的常见答案,但出于某种原因,在使用正确的语法时,在Code::Blocks上,我会发布一个示例来说明我不是在虚张声势: class BulletPlacer : sf::Drawable { public: BulletPlacer(); BulletPlacer(const unsigned Quantity); ~BulletPlacer(); }; 这是hpp文件的一小部分 BulletPlace

我知道这个问题的常见答案,但出于某种原因,在使用正确的语法时,在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(); }
所有函数都会像这样重复。这是非常恼人的,因为我不能推进我的SFML游戏,仅仅因为这和检查一个300行文件可能的错误,仅仅因为编译器对我很生气,是没有乐趣的。不,“BulletPlacer”使用的所有文件都没有这个功能

更糟糕的是,一个完全不相关的类也会得到类似的结果:

error: cannot define member function 'BulletPlacer::Enemy::Enemy' within 'BulletPlacer'
当类甚至不包含该文件时

我使用的是GCC4.7.1


提前感谢您对我的帮助。

这些错误意味着编译器认为这些定义是在类定义的字典中找到的,这意味着缺少一个
之类的


这就是我从提供的信息中所能说的。

头文件中的类或结构缺少右括号和/或分号?是的,当出现大量随机错误时,通常这是一个非常简单的标点问题。出现的第一个错误是什么?出现的第一个错误是在构造函数的额外限定中,错误“无法在“BulletPlacer”中定义成员函数“BulletPlacer::敌军::敌军”仅当我尝试单独编译文件而不是使用公共构建图标时才会出现。此外,我已反复检查代码中的琐碎内容(这种情况经常发生),但到目前为止,我还没有找到任何实际解决问题的方法。这个包裹看起来也不错。在检查了32个文件中的每一个之后,我发现没有任何类似的东西,这并不奇怪,因为在我试图重构那个特定的类之前,它确实编译过。考虑到我的项目规模,发布整个代码将是疯狂的,所以我真的不知道我还能提供什么…@CarlosJimenezBermudez:你不会发布整个项目;您可以在一个完整的、最小的测试用例中重现这个问题。在这样做的过程中,您几乎肯定会自己发现问题,这就是为什么它是预internet调试阶段的一个关键步骤…我很清楚什么是最小和完整的代码示例,但到那时我还没有找到问题的具体部分,受影响的两个文件各有300行,这仍然太多。尝试从类内的声明中删除BulletPlacer::。@kyasar:现在可能有点晚了。。。
error: cannot define member function 'BulletPlacer::Enemy::Enemy' within 'BulletPlacer'