Compilation error with c++17 (GCC) or higher.
オープン
- 主要言語
- C++
- スター
- 20
- フォーク
- 42
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
template
void do_something_to_all(_Can& __can, const _Predicate& __pred) {for (BOOST_AUTO(iter, __can.begin()); iter != __can.end(); ++iter) __pred(*iter);}
template\
size_t get_size_in_byte(const _Can& __can)
{
size_t size_in_byte = 0;
do_something_to_all(__can, size_in_byte += boost::lambda::bind(&_Can::value_type::size, boost::lambda::_1));
return size_in_byte;
}
std::list\ can;
can.emplace_back("123");
can.emplace_back("456");
printf("%zu\n", get_size_in_byte(can));
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、issue にある C++17/GCC reproducer をコンパイルし、完全な診断結果を記録します。payload ではリポジトリのファイルもテストも指定されていません。失敗している Boost.Lambda 式を追跡し、その後、影響を受ける標準の下で例が正常にコンパイルおよび実行されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- compilers
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100