に応じて次のコードは結構です:CONST変数の値であるか、または定数式では使用できない、変数タイプ
constexpr double square_cstxpr(double x) { return x * x; }
int main() {
const int test = 5;
constexpr double result = square_cstxpr((double)test);
}
しかし、test
のタイプはconst double
にconst int
から変更された場合、g ++は次のエラーを返します:the value of 'test' is not usable in a constant expression
。
グラムのコードと出力を参照してください++ここ:http://coliru.stacked-crooked.com/a/2fe9b176c2b23798
誰かがその動作を説明してもらえますか?
記述しないでコンパイルしたコードを追加してください。 – molbdnilo
@molbdnilo coliruへのリンクがあります。 – Zereges
私にとってうまくいく! – Geek