デジタルちんぶろぐ

デジタルな話題

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  268  : 記事  0  : コメント  4375  : トラックバック  79

ニュース


技術以外は
ちんぶろぐ

記事カテゴリ

書庫

日記カテゴリ

利用用途があるかどうかはともかく…

tuple<char, tuple<short,  long>> val;
auto elem = get<1>(val);

このコードはgccでもVCでも問題なくコンパイルできます。

但し、

struct A{};
struct B{};
struct C{};
//…
tuple<A,tuple<B,C>>val;
auto elem = get<1>(val);

このコードはVCだと通りますが、gccだとエラーになります。

コードが悪いのか、gccが悪いのか、はたまたVCが悪いのか。

投稿日時 : 2012年4月4日 1:31

コメント

# re: tupleのネスト 2012/04/04 8:03 江添
おそらくgccの問題でしょう。
clangでlibstdc++を使った場合には問題になりません。
だからgcc本体の問題のはずです。

バグ報告してみては。

# re: tupleのネスト 2012/04/04 8:03 江添
おそらくgccの問題でしょう。
clangでlibstdc++を使った場合には問題になりません。
だからgcc本体の問題のはずです。

バグ報告してみては。

# re: tupleのネスト 2012/04/04 8:04 江添
おそらくgccの問題でしょう。
clangでlibstdc++を使った場合には問題になりません。
だからgcc本体の問題のはずです。

バグ報告してみては。

# re: tupleのネスト 2012/04/04 8:38 江添
ありゃ、エラーで書き込めないというメッセージが出ていたはずなのに。
調べたところ、gcc 4.6では未実装の機能を使っています。
template parameter packを固定長のtemplate parameter listに展開するのは、gcc 4.6では未実装です。

# re: tupleのネスト 2012/04/04 10:05 あんどちん
あぁ、コンパイラヴァージョン書いてなかったのがよくないですね。
VCは11Beta。gccは4.7です。
江添さんのエントリにあるようにgcc4.7だと通るはずのコードなのに通ってないんですね。
# clangかぁ…入れてはあるけど

gcc4.7は他にもバグらしきものを見つけているんですが、昔と報告の仕方が変わったみたいでよくわからないっていう…



Post Feedback

タイトル
名前
Url:
コメント: