週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

あるえー。昨日の記事はどうも間違っているらしいです。今日は次のように書くつもりでした。

昨日の記事、正しい定義は次のとおりでした。

#define TLIST0() NullList
#define TLIST1(a) TypeList<a, TLIST0()>
#define TLIST2(a, b) TypeList<a, TLIST1(b) >
#define TLIST3(a, b, c) TypeList<a, TLIST2(b, c) >
#define TLIST4(a, b, c, d) TypeList<a, TLIST3(b, c, d) >

空白がないとシフト演算子ができるという罠。本当は括弧でマクロ全体をくくったりして安全にできるといいのですが、ここで括弧を書くとまた文法エラーになります。

しかし納豆神が書いたプログラムは確かにcygwin GCC 3.4.4のコンパイルを通ります。 TLISTは期待通りにコンパイルされ、どこにも右シフトは存在しないようです。

多分私のプログラムのエラーはこれとはちょっと違う原因でエラーになったのでしょう。困ったことに今はエラーが再現しません。ちゃんとバージョン管理してなかったのでどういう状況だったのかもよくわかりません。

いまさらhgで管理を始めました。

スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/346-5cf108ce
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。