[過去ログ] C++相談室 part156 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
343
(2): 2021/06/15(火)05:05 ID:UNOhr6//(1/5) AAS
template<class T, size_t N> using myarray = std::array<T, 2*N>;
としたときに、関数 hoge を
template<class T, size_t N> void hoge(myarray<T, N>);

template<class T, size_t N> void hoge(array<T, N>);
でオーバーロードすることってできますか?
345
(2): 2021/06/15(火)05:35 ID:d2euf9Bx(2/6) AAS
>>343
2番目のオーバーロード関数はarrayにstd::を付け忘れてるのか?
だとすると無理だと思うな

std::array<int, 1> a;
hoge(a);
と呼び出したとき、N==2となるべきかN==1となるべきかの根拠がないから

やってみてないけど
つーか、おまえさんはやってみたのか?
350
(2): 2021/06/15(火)08:19 ID:UNOhr6//(3/5) AAS
>>343,345-347
試して無理でした
言い方合ってるかわかりませんが、>>343のやり方ではオーバーロードと関数テンプレートの差がないからでしょうか

コンパイラに myarray を array と別の型だと思ってもらって、hoge をオーバーロードするテクってありますでしょうか
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.446s*