pure virtual destructor

http://igarashikuniaki.net/tdiary/?date=20060106#p04

より。

class HogeClass {
    virtual ~HogeClass() = 0 {};
};

は、 GCC4,GCC3,ICC,Kylix,BCC,DMC,Forteでエラーになり、VCだけ通りました。 VC ってなんか、割とこういうの多い気がする。

i@u ~/test> g++ -c pure_vir.cpp
pure_vir.cpp:2: error: pure-specifier on function-definition
i@u ~/test> g++33 -c pure_vir.cpp
pure_vir.cpp:2: error: 文法エラー before `{' token
pure_vir.cpp:2: error: missing ';' before right brace
pure_vir.cpp:1: 警告: `class HogeClass' only defines a private destructor and
   has no friends
pure_vir.cpp:3: error: 文法エラー before `}' token
i@u ~/test> icc -c pure_vir.cpp
pure_vir.cpp(2): error: expected a ";"
      virtual ~HogeClass() = 0 {};
                               ^

compilation aborted for pure_vir.cpp (code 2)
i@u ~/test> bc++ -c pure_vir.cpp
Borland C++ 5.7 Open Edition Copyright (c) 1987, 2002 Borland
pure_vir.cpp:
エラー E2040 pure_vir.cpp 2: 宣言が正しく終了していない
*** 1 errors in Compile ***
i@u ~/test> cl.exe -c pure_vir.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

pure_vir.cpp
i@u ~/test> bcc32.exe -c pure_vir.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
pure_vir.cpp:
エラー E2040 pure_vir.cpp 2: 宣言が正しく終了していない
*** 1 errors in Compile ***
i@u ~/test> dmc.exe -c pure_vir.cpp
    virtual ~HogeClass() = 0 {};
                             ^
pure_vir.cpp(2) : Error: ';' expected following declaration of struct member
--- errorlevel 1
ss56092@sx101$ CC -c pure_vir.cpp
"pure_vir.cpp", 行 2: エラー: 宣言を終わらせるときは ";" を使用してください.
1 個のエラーが検出されました.
なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h