次のコードは、(各行の後にセミコロンを付けずに)うまくコンパイルされました。なぜ公共セクションの下の各行の終わりにセミコロンが必要ないのですか?C++のオプションのセミコロン
注:各行の後にセミコロンを置くこともできますので、セミコロンを使用するように思われます(オプション)。
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;
};
これらのステートメントは、関数(メソッド)定義です。関数本体の後ろに ';'を置く必要はありません。 –
これをチェックアウトする:http://stackoverflow.com/questions/785686/in-c-classes-why-the-semi-colon-after-the-closing-brace – Jack
IIRC、GCCの '-pedantic'は、関数定義の後にセミコロンを入れてください。 – chris