GitHubで公開しているC++参考書に、以下のようなpull requestが送られてきた。 Pure virtual function by daisukekoba · Pull Request #153 · EzoeRyou/cpp-book 純粋virtual関数は、宣言を分ければ、定義も持てるそうだ。実際にまともなC++コンパイラーでコンパイルしてみると、たしかにその通りだ。 どうやら、私の規格の文面の解釈が間違っていたらしい。 C++の規格に曰く、 10.4 paragraph 2 A function declaration cannot provide both a pure-specifier and a definition. ひとつの関数宣言はpure指定子と定義の両方を提供することができない。 これを読むと、以下のコードがエラーになることがわかる。 struct S