- C++相談室 part112
472 :デフォルトの名無しさん[sage]:2014/05/11(日) 02:01:30.46 ID:Fsl8qTT6 - 関数呼び出しのoperator ()ってテンプレートに出来ないんでしょうか?
http://ideone.com/uyfykl こういうことをやりたかったんですが、VCでは通るけどideone(GCC?)やllvmではダメでした
|
- C++相談室 part112
474 :デフォルトの名無しさん[sage]:2014/05/11(日) 02:35:14.15 ID:Fsl8qTT6 - ああああなるほど、そういうことだったのか・・・・・
ありがとうございます、助かりました
|
- C++相談室 part112
477 :474[sage]:2014/05/11(日) 18:16:16.21 ID:Fsl8qTT6 - 476は自分じゃないですが、>>475>>476 勉強になりました
C++11ではLoki::Int2Typeや自前の同等のコードよりもintegral_constant使った方がよさそうですね
|
- C++相談室 part112
481 :デフォルトの名無しさん[sage]:2014/05/11(日) 21:01:22.51 ID:Fsl8qTT6 - >>480
すみません全然別のコードコピペしちゃってたので非公開にしてました placeholdersってbindに使うやつでしょうか? 元々の目的が「ループを強制アンロールして、forの場合に与えるint i(またはsize_t i)を テンプレートパラメータとして与えたい」ということだったんです template <int N> void operator ()() { cout << N << endl; } だと呼び出せない(VCだと呼べた気がするけど)んで、 Loki::Int2Type<N>みたいなのを受け取ってたわけです
|
- C++相談室 part112
482 :デフォルトの名無しさん[sage]:2014/05/11(日) 23:13:34.58 ID:Fsl8qTT6 - すみません嘘書いてました、呼び出せないと思ったら
Hoge.operator ()<1>(); で呼べますねorz
|