次の方法で共有


コンパイラ エラー C2134

'function' : 呼び出しは定数式の原因になりません

constexpr として宣言された関数は、constexpr として宣言された他の関数のみを呼び出すことができます。

次の例では C2134 が生成されます。

// C2134.cpp
// compile with: /c
int A() {
    return 42;
};

constexpr int B() {
    return A();  // Error C2134: 'A': call does not result in a constant expression.
}

考えられる解決方法:

// C2134b.cpp
constexpr int A() {  // add constexpr to A, since it meets the requirements of constexpr.
    return 42;
};

constexpr int B() {
    return A();  // No error
}