トップページ > プログラム > 2017年06月22日 > Pj60YbTlr

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

11 位/185 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000111003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (オッペケ Sr0b-jRIn)
C++相談室 part130 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part130 [無断転載禁止]©2ch.net
535 :デフォルトの名無しさん (オッペケ Sr0b-jRIn)[sage]:2017/06/22(木) 19:26:04.75 ID:Pj60YbTlr
>template<> A<C> B<C>::bar;

本当に実体化をしようとしているのか、明示的な実体化が必要なのか疑問だ
template<…> X →テンプレート定義
template<…> X<Y> →テンプレート定義(部分特殊化)
template<> X<…> →フルの特殊化
template X<…> →明示的実体化
X<…> →使うことで暗黙の実体化
C++相談室 part130 [無断転載禁止]©2ch.net
538 :デフォルトの名無しさん (オッペケ Sr0b-jRIn)[sage]:2017/06/22(木) 20:44:12.75 ID:Pj60YbTlr
特殊化の説明を読んでいるのがよくわからんが
G++で通るコードとやらを貼っとくか

http://ideone.com/u4h6so
C++相談室 part130 [無断転載禁止]©2ch.net
540 :デフォルトの名無しさん (オッペケ Sr0b-jRIn)[sage]:2017/06/22(木) 21:50:59.77 ID:Pj60YbTlr
>>534
>1) 以下のように書くとVC++では問題ない
>template<> A<C> B<C>::bar;

これはVisual C++が規格の14.7.3段落13を正しく実装していないためで
2)の書き方が正しい


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