[解決済み】C++の「クラス」型の再定義
2022-02-15 02:47:22
質問
c++で初めてクラスを扱おうとしています。私のサークルクラスと関連するヘッダーファイルは問題なく動作していましたが、いくつかのファイルを移動して以来、私は以下のように表示されるエラーが発生し続けています。
c:\circleobje.cpp(3): error C2011: 'CircleObje' : 'class' type redefinition
c:\circleobje.h(4) : see declaration of 'CircleObje'
CircleObje.h
#ifndef CircleObje_H
#define CircleObje_H
class CircleObje
{
public:
void setCol(float r, float g, float b);
void setCoord(int x, int y);
float getR();
float getG();
float getB();
int getX();
int getY();
};
#endif
CircleObje.cpp
#include "CircleObje.h"
class CircleObje {
float rVal, gVal, bVal;
int xCor, yCor;
public:
void setCol(float r, float g, float b)
{
rVal = r;
gVal = g;
bVal = b;
}
void setCoord(int x, int y)
{
xCor = x;
yCor = y;
}
...
};
.cppの関数は関係ないと思ったので、すべてコピーしていません。これらのファイルは、ファイルの場所を移動する前は問題なく動作していました。ファイル名を変更しても、上記と同じエラーが発生します。この問題を解決するためのアイデアはありますか?
解決方法
問題は、コンパイラの指示通り、クラスを2回定義していることです。cppでは、このように関数を定義する必要があります。
MyClass::MyClass() {
//my constructor
}
または
プレvoid MyClass::foo() {
//foos implementation
}
ということで、あなたのcppは次のようになります。
void CirleObje::setCol(float r, float g, float b)
{
rVal = r;
gVal = g;
bVal = b;
}
void CircleObje::setCoord(int x, int y)
{
xCor = x;
yCor = y;
}
...
そして、すべてのクラス変数は、クラスの中の .h ファイルで定義する必要があります。
関連
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] C++でクラスと構造体はいつ使い分けるべきか?
-
[解決済み] .NETにおけるstructとclassの違いは何ですか?
-
[解決済み] Scalaのオブジェクトとクラスの違い
-
[解決済み】なぜenumクラスはプレーンなenumより好ましいのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】浮動小数点例外エラーが発生する: 8
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み】ファイルから整数を読み込んで配列に格納する C++ 【クローズド
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】Enterキーを押して続行する