次のコードがあり、コンパイルするたびに、ns::player::player() への未定義の参照があるというエラーが表示されます
こんなことは今までなかったので、正直言ってかなり混乱しています。私はそれが単純なものであることを知っています。ところで、以下のコードは私が作業しているコードとまったく同じではありませんが、考え方は同じです。読みやすくするために、名前を短くして名前を変更しました。
また、すべてを1つのファイルに入れると、うまく再生されます。
main.cpp
#include "space.hpp"
int main()
{
ns::player kyle;
return 0;
}
スペース.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;
}