トップページ > プログラム > 2014年06月30日 > 1cNt7cFr

書き込み順位&時間帯一覧

20 位/233 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000001304



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part113

書き込みレス一覧

C++相談室 part113
365 :デフォルトの名無しさん[sage]:2014/06/30(月) 21:06:47.19 ID:1cNt7cFr
template <size_t N>
struct foo {
static const size_t value = (1<N)? 1 + foo<N/2>::value : 0;
};

エラー 3 error C2057: 定数式が必要です。
エラー 1 error C2065: 'value' 定義されていない識別子です。


死ねよ
C++相談室 part113
368 :デフォルトの名無しさん[sage]:2014/06/30(月) 22:05:10.42 ID:1cNt7cFr
>>366
なんで不自由コンパイラをかばうんだよ
C++相談室 part113
372 :デフォルトの名無しさん[sage]:2014/06/30(月) 22:22:39.51 ID:1cNt7cFr
>>369
あなたのコードは素晴らしい。
constexpre も素晴らしい。

ついさっき template alias がらみでも不具合を見つけてついかっとなってしまった。
C++相談室 part113
373 :デフォルトの名無しさん[sage]:2014/06/30(月) 22:26:45.39 ID:1cNt7cFr
>>371
上に書いたとおり、ついカッとなってしまったんだよ。

とりあえずコードは明示的に特殊化したら動いた。
template <size_t N> struct foo { static const size_t value = 1 + foo<N/2>::value; };
template <> struct foo<0> { static const size_t value = 0; };
template <> struct foo<1> { static const size_t value = 0; };


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。