VS2013
タイトルで話が完結している namespace minibug { template<class ...T> struct List{}; template<class...T> std::true_type length_impl(List<T...>); template<class T> struct wrap{ using type = T; }; template<class T> using identity = typename wrap<T>::type; template<class list> using length = identity</class></t></class></class></t...></class...t></class>
自分が遭遇した最悪なバグを書いておこうと思う 型破壊バグ std::cout << typeid(BreakType).name();//struct ??::??と出力される //error C2133:サイズが不明です //error C2512:コンストラクタがない BreakType c; 上記のように壊れた型が発生する初代ポケ…
template<class> struct rhs { friend int operator*(int x, rhs){ return 2; } }; template<class T> rhs<T> make(T){ return rhs<T>(); } using R = decltype(42 * make(42)); int main(){} 自身が右辺に来る二項演算子を クラス内でオーバーロードした テンプレートクラスを テ</t></t></class></class>…
VisuakStudio2013のバグ?エイリアステンプレートにエイリアステンプレートを使うとC2955エラーを吐く - TXT.TXTの問題をちゃんと分析しなおした テストコードはーい template<size_t N> struct Index{ static const size_t value = N; }; template<class T> using foo = typena</class></size_t>…