問題タブ [class-template]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - クラス テンプレートの使用中に配列内のアイテムを削除する方法は?
関数から「GoodBye」を削除してから、Remove
欠落しているリストを印刷しようとしています。
次のようなエラーが表示されます。
エラー 1 エラー C2440: 'delete': 'std::string' から 'void* に変換できません
item
さようならです。word
削除されたコピーを保存します。
に「さようなら」などの単語を追加するメイン関数my_String
。
my_String.Remove
から削除GoodBye
しmy_String
ます:
c++ - 具象クラス テンプレートの特殊化を明示的に禁止する
クラステンプレートがあります:
しかし、制限された型の空のリストを禁止したい、つまりvariant<>
、コンパイル時に禁止する必要があります。私は次のことができます:
しかし、あまり明確ではありません: 私のバリアントライブラリに多くのヘッダーが含まれている場合、上記の特殊化がクラスの前方宣言ではないかどうかは明らかではありません。私の考えでは、理想的な想像上の解決策は次のとおりです。
これはかなり明示的に見えますが、悲しいことに、C++ 構文では禁止されています。
説明されている意図を満たす最も明確な方法は何ですか?
c++ - 複数のテンプレート クラスを同じ型にする方法
2 つのテンプレート クラス A と B があります。互いに入れ子にせずに、それらを同じ型にインスタンス化する方法を教えてください。たとえば、次のように 2 つのクラスを定義するとします。
次に、ユーザーがこのようなことを行う可能性がありA<int> a;
ますB<float> b;
A と B にまったく同じ型を強制したいのですが、それらを互いに入れ子にしたくありません。したがって、誰かがこれら 2 つのクラスを使用する場合、A と B は同じ型でなければなりません。それを行う方法はありますか?そして、このようなクラスを設計するための良い習慣は何ですか?
ありがとう
c++ - クラス テンプレートから文字列を出力できません
クラステンプレートに文字列を出力させようとしています。しかし、私はerror C679: No operator found which takes a right hand operand of type std:: string
. このエラーを解消するためにさまざまな方法を試しました。
c++ - の代わりにスコープ解像度。テンプレート クラス引数の演算子
以下のコードは正常にコンパイルされます。
?ではなく、スコープ解決演算子がここでどのように機能する. operator
か このような非静的メンバーへのアクセスは許可されていますか?
参照: C++ テンプレート完全ガイド、セクション 8.3.3 非型引数