2007-08-31から1日間の記事一覧

VC++6.0の悪夢

struct hoge { static const bool value = true; }; error C2258: 純粋仮想関数の宣言に構文上の誤りがあります、'=0' でなければなりません。 error C2252: 'value' : 関数でない識別子が純粋関数であると指定されています。 これが純粋仮想関数だと言い張…

Type Traits

C++

Boostのソースを解析してType Traitsを作成中 労を惜しまずに作ればこうなる template <typename Type> struct is_void { enum { value = 0 }; }; template <> struct is_void<void> { enum { value = 1 }; }; でもめんどくさいのでこういう簡単に特殊化できるようにするマクロを</void></typename>…

compile-time-polymorphism(コンパイル時多態)

C++

東方算程譚 - アヒルの判別 すばらしいとしか言いようがないしびれるな〜 さすがはC++ #include <iostream> #include <string> using namespace std; // カテゴリ struct cpp_category {}; struct java_category {}; // C++プログラマ struct cpp_programmer { typedef cpp_cat</string></iostream>…