突然のコンパイルエラー

clangでもgccでもVCでもコンパイルできていたのに、突然エラーが出るようになった。

rbind/rbindv.hpp at master · mYmd/rbind · GitHub

これは可変長テンプレートの学習を兼ねて作成した自作のbind関数で、ラムダ式が導入されてからはほぼ無用の長物と化したけれど、引数のデフォルト値を設定できることが唯一のアドバンテージだと思って残していたものだ。

 それが上記のどの環境でもコンパイルできなくなった。

error: no matching function

だと・・・

VCについては、このコードを書いた後で2015previewを入れたので、そのせいかもしれない。clangとgccについても、このコードが持っていた潜在的な規格違反が顕在化したんだと推測している。

とりあえず無関係なソースコードを"miscellaneou"に移動し、こちらは無期限停止とする。

mYmd/miscellaneous · GitHub

ソースとしては、選択的関数オーバーロードのための "functor_overload.hpp"と、テンプレート引数の部分束縛のための"mbind.hpp"とそのサンプルプログラムだ。