- C++14/C++1z 20
701 :デフォルトの名無しさん[sage]:2015/10/24(土) 08:41:17.40 ID:9vIUQxwG - >>700
initializer_listを引数にとるconstexpr関数の中で、static_assert(il.size() > 0)とか したかったものだから。 でも寝てる間に気がついたけど、これは休むに似たりという奴だ…… 気にしてくれてありがとう。
|
- C++14/C++1z 20
703 :デフォルトの名無しさん[sage]:2015/10/24(土) 12:23:04.29 ID:9vIUQxwG - >>702
それが、関数引数になると定数式じゃなくなっちゃうんですよ。 http://qiita.com/kktk-KO/items/64b693c84ca0ee4ecbe0 http://stackoverflow.com/questions/8936549/constexpr-overloading constexpr auto f(const initializer_list<int>& a /*aは定数式じゃない*/) { static_assert(a.size() > 0); // NG: aが定数式じゃないからa.size()も定数式じゃない }
|
- C++14/C++1z 20
704 :デフォルトの名無しさん[sage]:2015/10/24(土) 14:38:22.93 ID:9vIUQxwG - まあコンパイル時に計算されなくても大した計算量じゃないんですけどね。
constexpr関数はconstexpr関数しか呼べないから気になります。
|