投稿の下部に示すように、「player.h」ファイルで宣言され、「player.cpp」ファイルで初期化された5つのfloatパラメーターを受け取るコンストラクターを持つPlayerというクラスがあります。
プログラムを実行しようとすると、次のエラーが発生します。
build/Debug/MinGW-Windows/player.o: In function `Player':
C:\Users\User\Dropbox\NetBeans Workspace\Testing/player.cpp:11: multiple definition of `Player::Player(float, float, float, float, float)'
build/Debug/MinGW-Windows/main.o:C:\Users\User\Dropbox\NetBeans Workspace\Testing/player.h:20: first defined here
私はここで何が間違っているのですか?コンストラクターの前に「public:」を削除しようとしましたが、まったく役に立ちませんでした。コンストラクターの定義が複数あると表示されますが、初期化するのは1回だけです。当たり前のことだと思います。
2つのファイルの完全なソース:
「player.cpp」
#include "player.h"
Player::Player(float x, float y, float z, float rx, float ry) {
}
「player.h」
#ifndef PLAYER_H
#define PLAYER_H
class Player {
public:
Player(float x, float y, float z, float rx, float ry);
};
#endif