次のコードは正常にコンパイルされました (各行の後にセミコロンはありません)。public セクションの下の各行の終わりにセミコロンが必要ないのはなぜですか?
注:各行の後にセミコロンを付けても問題ないため、ここでのセミコロンの使用はオプションのようです。
template<typename T>
class Accessor {
public:
explicit Accessor(const T& data) : value(data) {}
Accessor& operator=(const T& data) { value = data; return *this; }
Accessor& operator=(const Accessor& other) { this->value = other.value; return *this; }
operator T() const { return value; }
operator T&() { return value; }
private:
Accessor(const Accessor&);
T value;
};