質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

1635閲覧

usingを使った際の型の推論

hoge111

総合スコア17

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/04/03 18:49

編集2021/04/09 05:17

????usingを使った場合の型推論を機能させたいです

cpp

1//concept 2template<typename T> 3concept Integer = std::integral<T>; 4 5 6template<Integer T> 7struct Int { 8 9 //コンストラクタ 10 Int(T i) :i(i) {} 11 12 T i;//メンバ変数 13}; 14 15template<Integer T> 16using Int2 = Int<T>; 17 18 19int main() { 20 Int i(0); 21 22 /*ここ*/ 23 Int2 i2(0);//error  24}

????上のコードのようなusingを使うと型の推論が働きません

cpp

1template<Integer T> 2using Int2 = Int<T>;

????出来れば↓のように書きたいと思っています

cpp

1Int2 i2(0)//こんな感じにかけるようにしたい

????よろしくお願いいたします。

追記(2021/4/8)

関連する新たな質問を立てます
https://teratail.com/questions/332331?modal=q-comp

追記(2021/4/9)

返信欄より->c++20でできるようになったようです
新しい質問は削除しました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

実引数推定はclass templateにのみ許容され、alias templateでは不可能です。

投稿2021/04/03 20:03

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoge111

2021/04/04 03:27

????????????ありがとうございます
yumetodo

2021/04/09 15:02

!?なんと・・・。
guest

0

自己解決

????ふと思いもう一度やってみると画面ではエラーが出ていましたがコンパイルが通りました
????お騒がせしました

cpp

1 2template<typename T> 3concept Integer = std::integral<T>; 4 5 6template<Integer T> 7struct Int { 8 9 //コンストラクタ 10 Int(T i) :i(i) { 11 std::cout << i; 12 } 13 14 T i;//メンバ変数 15}; 16 17template<Integer T> 18using Int2 = Int<T>; 19 20 21int main() { 22 Int i(0);//0 23 24 Int2 i2(1);//1 25} 26
//出力 01

????↓こんな感じでエラーがでますが

イメージ説明

????なんか通りました
イメージ説明

投稿2021/04/08 12:26

hoge111

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumetodo

2021/04/09 15:04

余談ですが実はIntelliSenseとコンパイルをするときに使われるコンパイラ、方やEDG、もう一方はcl.exeと全く別のコンパイラなんですよね・・・。新しい言語仕様とかが関わるとIntelliSenseは信用できないというのはまさにこういうことです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問