ここにクラスのヘッダー仕様があります:
#ifndef FIXEDWINGAIRCRAFT_H
#define FIXEDWINGAIRCRAFT_H
#include <iostream>
class FixedWingAircraft
{
private:
struct Airframe
{
double weight;
};
struct Engine
{
double weight;
double fuel;
};
struct Radio
{
bool state;
double weight;
};
struct Pilot
{
int proficiency;
double weight;
};
public:
void setAirframe(double w)
{
Airframe.weight = w;
}
void setEngine(double w, double f)
{
Engine.weight = w;
Engine.fuel = f;
}
void setRadio(bool s, double w)
{
Radio.state = s;
Radio.weight = w;
}
void setPilot(int p, double w)
{
Pilot.proficiency = p;
Pilot.weight = w;
}
};
#endif
しかし、コンパイルしようとすると、次のような構文エラーが大量に発生します。
error C2143: syntax error : missing ';' before '.'
これらはセッター関数を参照していると思いますが、なぜそれが問題を引き起こすのかわかりません。私は何が欠けていますか?