私はそれがパラメータとしてPersonポインタを取るメソッドが必要です。これは私がヘッダファイルと私のcppファイルの両方でそれを宣言しなければならないことを意味します。それはこのように見えます。hとcppファイルのC++の競合するポインタ宣言
PersonReg.h
#pragma once
class PersonReg
{
public:
PersonReg(int const maxSize);
void addPerson(Person* personPtr);
~PersonReg();
};
PersonReg.cpp
PersonReg::PersonReg(int mSize)
{
maxSize = mSize;
}
void add(Person* personPtr) {
//Do stuff
}
PersonReg::~PersonReg()
{
}
問題は、Visual StudioがaddPersonための関数定義が欠落していると、それを実現するための提案を与えていると文句を言いということです。そうすれば、次のようになります。
void PersonReg::addPerson(Person * personPtr)
{
}
ここで何が起こっていますか?なぜ私の実装を見つけることができないのですか?アスタリスクの周囲のスペースはどういう意味ですか?違いは何ですか?
あなたは 'PersonReg :: addPerson'の定義(実装)を*持っていないからです。あなたはグローバルな非メンバ関数を持っていますが、それは 'add 'です。 –
空白は無視されます。私は見る。 – xtofl