1

Boostコンセプトチェックライブラリを使い始めました。ただし、ドキュメントを読んだ後、概念のメソッドが特定の型を返すことを確認する方法が見つからないようです。ただし、これも不可能だと言っているものは何も見当たりません。これは奇妙です。

では、戻り値の型が正しくない場合に失敗する概念を書くことは可能ですか?

4

1 に答える 1

2
double pi(){
    return 3.1415;
}

int main(){
    int int_pi{pi()};
}

{}requies 変換を使用して変数を初期化すると、情報が失われ、コンパイル エラーになります。

または:

#include <type_traits>
int main(){
    static_assert(std::is_same<decltype(pi()), double>::value, "pi() must return double");
}

2 番目のコードにはコメントは必要ないと思います。

于 2014-10-23T18:08:12.937 に答える