6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"cpp": ["cpp20"]}, "sources": [{"id": "d502ae9b47744bb315255cfb274463cfbfc75fb9", "source": "#include <iostream>\n\nvoid f(int (&&)[] ){ std::cout << \"#1 called\\n\"; } // #1\nvoid f(double (&&)[] ){ std::cout << \"#2 called\\n\"; } // #2\nvoid f(int (&&)[2]){ std::cout << \"#3 called\\n\"; } // #3\n\nint main()\n{\n f({1}); // #1\u3092\u547c\u3076: \u578b\u304c\u4e00\u81f4\u3057\u3066\u3044\u3066\u3001\u8981\u7d20\u6570\u304c\u4e00\u81f4\u3059\u308b\u5019\u88dc\u304c\u306a\u3044\u305f\u3081#1\u306b\u306a\u308b\u3002\n f({1.0}); // #2\u3092\u547c\u3076: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304b\u3089\u306e\u5909\u63db\u306fdouble\u3068int\u306a\u3089double\u304c\u9078\u3070\u308c\u308b\u3002\n f({1.0, 2.0}); // #2\u3092\u547c\u3076: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304b\u3089\u306e\u5909\u63db\u306fdouble\u3068int\u306a\u3089double\u304c\u9078\u3070\u308c\u308b\u3002\n f({1, 2}); // #3\u3092\u547c\u3076: \u8981\u7d20\u6570\u304c\u660e\u793a\u3055\u308c\u3066\u3044\u308b\u65b9\u304c\u512a\u5148\u3055\u308c\u308b\u306e\u3067#1\u306b\u306f\u306a\u3089\u306a\u3044\u3002\n // \u307e\u305f\u3001\u578b\u304c\u4e00\u81f4\u3059\u308b\u65b9\u304c\u512a\u5148\u3055\u308c\u308b\u306e\u3067#2\u306b\u306f\u306a\u3089\u306a\u3044\u3002\n}\n"}, {"id": "6197589245fb0bde4cdcf55eba65cfa5b864306f", "source": "#include <iostream>\n\nvoid f(int(&&)[]){ std::cout << \"unknown bound\\n\"; }\nvoid f(int(&&)[0]){ std::cout << \"bound 0\\n\"; }\nvoid f(int(&&)[2]){ std::cout << \"bound 2\\n\"; }\nvoid f(int(&&)[4]){ std::cout << \"bound 4\\n\"; }\n\nvoid g(int(&&)[]){ std::cout << \"unknown bound\\n\"; }\nvoid g(double(&&)[0]){ std::cout << \"bound 0\\n\"; }\nvoid g(double(&&)[1]){ std::cout << \"bound 1\\n\"; }\nvoid g(double(&&)[2]){ std::cout << \"bound 2\\n\"; }\n\nint main()\n{\n std::cout << \"f:\\n\";\n f({});\n f({0});\n f({0, 0});\n f({0, 0, 0});\n f({0, 0, 0, 0});\n f({0, 0, 0, 0, 0});\n std::cout << \"g:\\n\";\n g({0});\n g({0, 0});\n g({0, 0, 0});\n g({0.0, 0.0});\n}\n"}], "page_id": ["lang", "cpp20", "permit_conversions_to_arrays_of_unknown_bound"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"cpp": ["cpp20"]}, "sources": [{"id": "d502ae9b47744bb315255cfb274463cfbfc75fb9", "source": "#include <iostream>\n\nvoid f(int (&&)[] ){ std::cout << \"#1 called\\n\"; } // #1\nvoid f(double (&&)[] ){ std::cout << \"#2 called\\n\"; } // #2\nvoid f(int (&&)[2]){ std::cout << \"#3 called\\n\"; } // #3\n\nint main()\n{\n f({1}); // #1\u3092\u547c\u3076: \u578b\u304c\u4e00\u81f4\u3057\u3066\u3044\u3066\u3001\u8981\u7d20\u6570\u304c\u4e00\u81f4\u3059\u308b\u5019\u88dc\u304c\u306a\u3044\u305f\u3081#1\u306b\u306a\u308b\u3002\n f({1.0}); // #2\u3092\u547c\u3076: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304b\u3089\u306e\u5909\u63db\u306fdouble\u3068int\u306a\u3089double\u304c\u9078\u3070\u308c\u308b\u3002\n f({1.0, 2.0}); // #2\u3092\u547c\u3076: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304b\u3089\u306e\u5909\u63db\u306fdouble\u3068int\u306a\u3089double\u304c\u9078\u3070\u308c\u308b\u3002\n f({1, 2}); // #3\u3092\u547c\u3076: \u8981\u7d20\u6570\u304c\u660e\u793a\u3055\u308c\u3066\u3044\u308b\u65b9\u304c\u512a\u5148\u3055\u308c\u308b\u306e\u3067#1\u306b\u306f\u306a\u3089\u306a\u3044\u3002\n // \u307e\u305f\u3001\u578b\u304c\u4e00\u81f4\u3059\u308b\u65b9\u304c\u512a\u5148\u3055\u308c\u308b\u306e\u3067#2\u306b\u306f\u306a\u3089\u306a\u3044\u3002\n}\n"}, {"id": "5020fd9b6d559d99c2a49527eda7f82e6ba19f16", "source": "#include <iostream>\n\nvoid f(int(&&)[]){ std::cout << \"unknown bound\\n\"; }\nvoid f(int(&&)[2]){ std::cout << \"bound 2\\n\"; }\nvoid f(int(&&)[4]){ std::cout << \"bound 4\\n\"; }\n\nvoid g(int(&&)[]){ std::cout << \"unknown bound\\n\"; }\nvoid g(double(&&)[1]){ std::cout << \"bound 1\\n\"; }\nvoid g(double(&&)[2]){ std::cout << \"bound 2\\n\"; }\n\nint main()\n{\n std::cout << \"f:\\n\";\n f({0});\n f({0, 0});\n f({0, 0, 0});\n f({0, 0, 0, 0});\n f({0, 0, 0, 0, 0});\n std::cout << \"g:\\n\";\n g({0});\n g({0, 0});\n g({0, 0, 0});\n g({0.0, 0.0});\n}\n"}], "page_id": ["lang", "cpp20", "permit_conversions_to_arrays_of_unknown_bound"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
189189 < p class ="text-right "> < small >
190190 最終更新日時:
191191 < time itemprop ="datePublished " class ="js-local-time "
192- datetime ="2025-07-10T10:26:30 +09:00 ">
193- 2025年07月10日 10時26分30秒 (JST)
192+ datetime ="2026-09-18T12:59:29 +09:00 ">
193+ 2026年09月18日 12時59分29秒 (JST)
194194 </ time >
195195 < br />
196196 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
197- < span itemprop ="name "> Koichi Murase </ span >
197+ < span itemprop ="name "> yoh </ span >
198198 </ span >
199199 が更新
200200 </ small > </ p >
@@ -277,22 +277,19 @@ <h2>仕様</h2>
277277</ code > </ pre > </ div >
278278</ div > </ p >
279279< h2 > 例</ h2 >
280- < p > < div class ="yata " id ="6197589245fb0bde4cdcf55eba65cfa5b864306f "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../../reference/iostream.html "> <iostream></ a > </ span >
280+ < p > < div class ="yata " id ="5020fd9b6d559d99c2a49527eda7f82e6ba19f16 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../../reference/iostream.html "> <iostream></ a > </ span >
281281
282282< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> f</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "unknown bound</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
283- < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> f</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[</ span > < span class ="mi "> 0</ span > < span class ="p "> ]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "bound 0</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
284283< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> f</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[</ span > < span class ="mi "> 2</ span > < span class ="p "> ]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "bound 2</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
285284< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> f</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[</ span > < span class ="mi "> 4</ span > < span class ="p "> ]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "bound 4</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
286285
287286< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> g</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "unknown bound</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
288- < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> g</ span > < span class ="p "> (</ span > < span class ="kt "> double</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[</ span > < span class ="mi "> 0</ span > < span class ="p "> ]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "bound 0</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
289287< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> g</ span > < span class ="p "> (</ span > < span class ="kt "> double</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[</ span > < span class ="mi "> 1</ span > < span class ="p "> ]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "bound 1</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
290288< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> g</ span > < span class ="p "> (</ span > < span class ="kt "> double</ span > < span class ="p "> (</ span > < span class ="o "> &&</ span > < span class ="p "> )[</ span > < span class ="mi "> 2</ span > < span class ="p "> ]){</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "bound 2</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="p "> }</ span >
291289
292290< span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
293291< span class ="p "> {</ span >
294292< span class ="w "> </ span > < span class ="n "> < a href ="../../reference/iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="s "> "f:</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ;</ span >
295- < span class ="w "> </ span > < span class ="n "> f</ span > < span class ="p "> ({});</ span >
296293< span class ="w "> </ span > < span class ="n "> f</ span > < span class ="p "> ({</ span > < span class ="mi "> 0</ span > < span class ="p "> });</ span >
297294< span class ="w "> </ span > < span class ="n "> f</ span > < span class ="p "> ({</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 0</ span > < span class ="p "> });</ span >
298295< span class ="w "> </ span > < span class ="n "> f</ span > < span class ="p "> ({</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 0</ span > < span class ="p "> });</ span >
@@ -308,7 +305,6 @@ <h2>例</h2>
308305</ div > </ p >
309306< h3 > 出力</ h3 >
310307< p > < pre > < code > f:
311- bound 0
312308unknown bound
313309bound 2
314310unknown bound
0 commit comments