struct C { constexpr C(int i) : i(i) {} int i; }; constexpr C plus2(const C& c) { return C{c.i + 2}; } int main() { const C i(0); constexpr C j = plus2(i); }
Standard input is empty
prog.cpp: In function 'int main()':
prog.cpp:12:28: in constexpr expansion of 'plus2(i)'
prog.cpp:12:28: error: the value of 'i' is not usable in a constant expression
constexpr C j = plus2(i);
^
prog.cpp:11:13: note: 'i' was not declared 'constexpr'
const C i(0);
^
Standard output is empty