对namespace :: class :: constructor的未定义引用

时间:2012-12-09 08:15:58

标签: c++ class undefined-reference

我有以下代码,每次编译时,它都会给我一个错误,说明有一个未定义的引用ns :: player :: player()

以前从未发生过这种情况,所以说实话,我很困惑。我只知道这很简单。顺便说一句,下面的代码不是完全我正在使用的代码,但它是相同的想法。我只是缩短了它并更改了名称以便于阅读。

另外,如果我将它全部放入一个文件中,它会很好用。

的main.cpp

#include "space.hpp"
int main()
{
   ns::player kyle;
   return 0;
}

space.hpp

#ifndef SPACE_HPP_INCLUDED
#define SPACE_HPP_INCLUDED
namespace ns
{
   class player
   {
      private:
         int stat1, stat2, stat3;
      public:
         player();
         player(int, int, int);
   };
}
#endif

space.cpp

#include "space.hpp"
ns::player::player()
{
   stat1 = 100;
   stat2 = 200;
   stat3 = 300;
}
ns::player::player(int a, int b, int c)
{
   stat1 = a;
   stat2 = b;
   stat3 = c;
}

0 个答案:

没有答案