を含むクラスのベクトルを使用しました飛行機クラスとこの航空機はベクトル座席クラス "m_seat"を持っていました。 私の飛行機のコンストラクタでは、必要なパラメータとして座席数を使用して、m_seatベクトルサイズを要求されたユーザのサイズにリサイズしました。これは私のコードでした:静的メンバ変数
class Seat;
class Airplane {
vector<Seat> m_seat;
public:
Airplane(int);
};
class Seat{
static int m_seatNumber;
public:
Seat() { m_seatNumber += 10; }
};
int Seat::m_seatNumber = 100;
Airplane::Airplane(int numberOfSeats) {
for (int i = 0; i<numberOfSeats; ++i) {
m_seat.push_back();
}
}
int main()
{
Airplane(80);
return 0;
}
しかし、このエラーが発生しました。
のstd ::ベクトル< _Ty、_Aloc> ::一back機能の過負荷は0引数を取らない
と、これは本当に問題だった場合、私は私が入れているべきか分からなかった
私のpush_back()?だから私は{}m_seat.push_back({});
と働いた!
今私は私の主な問題(SOルール:一度に1つの質問だけを尋ねてください!)です。すべての座席番号が同じ数に増えているようです!私はまた、代わりにそのループを、ベクターの「リサイズ」メンバ関数を使用する:
m_seat.resize(numberOfSeats);
しかし、問題(m_seatNumber数の同じ増加)が未解決のままです。 非ネイティブ英語講師、申し訳ありません。
'Seat'オブジェクトをプレーンで単純にプッシュしますか? 'Seat'クラスが静的メンバー変数を持っているのは本当に問題ではありませんか?あなたの問題は、コード問題よりも設計問題(あるいは設計の欠如*)が多いようです。 –
"すべての座席番号が同じ数に増えているようです!" - 申し訳ありませんが、言い換えることはできますか?あなたは何を期待していますか、あなたは何を見ていますか?あなたはそれぞれの座席が異なった番号を持つことを望みましたか? –
まず、 'm_seatNumber'は静的なのですか?各座席に固有の番号を付けるべきではありませんか? – NathanOliver