C++相談室 part166 (754レス)
上
下
前
次
1-
新
712
(1)
:
(ワッチョイ 2596-TDpG)
09/30(火)21:38
ID:bXNPhBlr0(1/2)
AA×
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
712: (ワッチョイ 2596-TDpG) [] 2025/09/30(火) 21:38:35.37 ID:bXNPhBlr0 VC++20のテンプレート制約で不可思議なことが起きるのだけど、以下の二つは同じ意味だよね? 1だと目的通りTParentに該当static関数<T>があれば適用、なければスルーという挙動になるのだけど、 2だと無くても適用されちゃって他を探しに行かずにオーバーロード未解決に陥るんだけどどういうことだろう? 1 template<typename T, typename TParent> concept HasSizeGetter = requires { (size_t)TParent::template get_size<T>(); }; template<HasSizeGetter<TParent> T> static consteval size_t get_require_space() { return TParent::get_size<T>(); } 2 template<typename T> requires requires { (size_t)TParent::template get_size<T>(); } static consteval size_t get_size() { return TParent::get_size<T>(); } http://mevius.5ch.net/test/read.cgi/tech/1745631298/712
のテンプレート制約で不可思議なことが起きるのだけど以下の二つは同じ意味だよね? だと目的通りに該当関数があれば適用なければスルーという挙動になるのだけど だと無くても適用されちゃって他を探しに行かずにオーバーロード未解決に陥るんだけどどういうことだろう?
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 42 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.035s