RVCT for BREW 3.0 キター!

そしてコンパイルエラー山盛りキター!


出たエラー・ウォーニングとか。

  • Warning: 初期化リストが定義の順番じゃない
    • 順番どおりに並べた
  • std::bad_alloc が見つからない
    • を include
  • std::out_of_range が見つからない
    • を include
  • 以下のコードは式が左辺値じゃないとダメ
const typename detail::brew_traits<T>::hierarchy& test =
    static_cast<const typename detail::brew_traits<T>::hierarchy&>(
        typename detail::brew_traits<U>::hierarchy());
    • static_cast の中身を左辺値に
const typename detail::brew_traits<U>::hierarchy test;
const typename detail::brew_traits<T>::hierarchy& test2 =
    static_cast<const typename detail::brew_traits<T>::hierarchy&>(test);
    • そうすると test2 が使われてないって Warning が。
      • 結局こんな風に。
const typename detail::brew_traits<U>::hierarchy test;
const typename detail::brew_traits<T>::hierarchy& test2 =
    static_cast<const typename detail::brew_traits<T>::hierarchy&>(test);
if (&test2 == &test2) { }
  • ローカルで定義した型をテンプレートに渡したらダメ
template<class T>
void foo(T);
void bar()
{
    struct Hoge { };
    foo(Hoge()); // だめぽ
}
    • predicate を外側に出すしか無いじゃんorz
  • Warning: ファイルの最終行が復帰改行文字なしで終了してる
    • 吹いたw