質問: requires(Type t1){ {t1.fuga(std::declval())} -> std::integral<>; }; ``` ### コード4 ``` void identification(std::same_as auto const&){ std::cout << "Hogeです" << std::endl; } ``` ### 開発環境の備考 | 種類 | 名前 | バージョン | 備考 | | --- | --- | --- | --- | | os | Linux Mint | 20 | - | | コンパイラ | clang++ | 10 | 本文中のコードをコンパイルする時オプションに-std=c++2aを指定 |
回答: 具体的な型が確定するときにそれが性質を満たすかどうかをチェックする機構がコンセプトです。 どこかで型が陽に与えられるか推論可能である必要があり、プログラム中のどこにも具体的な型が存在しないときに整数型全般を抽象化した型で表すということは出来ません。