問題タブ [partial-specialization]

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.

0 投票する
1 に答える
411 参照

c++ - 両方のメンバーがパラメーター化された後でのみ、テンプレート テンプレート パラメーターを使用したビルド エラー

以前のテンプレート パラメーターのサブタイプと等しい型の非型値であるテンプレート テンプレート パラメーターを渡そうとしています (これは読むのと同じくらい難しいことです!)、結果を単一のパラメーター化されたテンプレートに結合しようとした後、いくつかのビルド エラーが発生しました。

次のコードがあります (g++ 4.4.1 および -std=c++0x で問題なくコンパイルされます)。

ただし、Nowテンプレートを見てください。ブール値によってパラメーター化された 2 つのメンバーがあります。ただし、囲んでいるテンプレートconcrete_tの bool パラメータに依存しますが、依存しません。それを変更したいので、宣言を次のように置き換えます。NowMyHoldNow

しかし、これにより次のエラーが発生します。

私はこれを十分に見つめてきましたが、この単純な変更がエラーを引き起こす理由を完全に理解できていないと言わざるを得ません。何か案は?

編集:これは(うまくいけば)熟考しやすくするための問題の最小限の説明です:

0 投票する
3 に答える
6395 参照

c++ - 特定の型、c++ の部分的なテンプレートの特殊化

テンプレートの部分的な特殊化を使用して、関数/メソッドを作成したいと思います:

A)仮パラメータの特定のプリミティブ型(int、double、floatなど)を1つだけ処理し、例外をスローする他の型を処理する

B) 仮パラメータのより多くの非プリミティブ型 (ユーザー定義型) の処理、および例外をスローする他の型の処理...

いくつかのコード例が役立ちます (c++ ブースト ライブラリなし)。ご協力いただきありがとうございます。

0 投票する
1 に答える
1370 参照

c++ - C++部分テンプレート特殊化構文

プライマリテンプレートの場合:

テンプレートの特殊化では、違いは何ですか

0 投票する
3 に答える
5938 参照

c++ - C++ テンプレートの部分的な特殊化エラー

次のコードでコンパイル エラーが発生します。class Q64 is not a valid type for a template constant parameter

どうしたの?私はgrid_residueクラスに特化しようとしていQ64ます。

アップデート:

構文が変更されました。エラーが発生するようになりましたerror: function template partial specialization 'grid_residue<GRIDD, Q64>' is not allowed

ありがとう

0 投票する
2 に答える
8273 参照

c++ - ポインターの部分的な特殊化、c++

I (つまり I*) のポインターを格納できるように、クラス GList を部分的に特殊化するにはどうすればよいですか?

0 投票する
3 に答える
2980 参照

c++ - 二重テンプレート メソッドの部分的な特殊化が失敗する

テンプレート クラス List があります。

N=2 のメソッド ロードを特殊化する方法は? このコードは無効です...

また、このコードも機能しません。

コンパイラ g++:

0 投票する
3 に答える
3827 参照

c++ - テンプレートクラスの一部のメンバーのみを特殊化するにはどうすればよいですか?

コード:

エラー:

基本的には、1つの関数だけを特殊化し、他の関数には共通の定義を使用したいと思います。(実際のコードでは、専門にしたくない関数がたくさんあります)。

これを行う方法?ありがとう!

0 投票する
4 に答える
28217 参照

c++ - 関数テンプレートを部分的に特殊化できないのはなぜですか?

言語仕様が関数テンプレートの部分的な特殊化を禁止していることを私は知っています。

なぜそれが禁止されているのか、その理由を知りたいのですが?それらは役に立ちませんか?

0 投票する
1 に答える
1312 参照

c++ - メンバー関数の戻り値の型でパラメーター化されたクラス テンプレートの部分的な特殊化

メンバー関数ポインター型の戻り値の型に基づいて、クラス テンプレート 'special' を特殊化しようとする次のコードは、VC9 でコンパイル エラーになります。

エラー C2752: 'special': 複数の部分的な特殊化がテンプレート引数リストと一致します

http://ideone.com/ekWGg で示されているように、同じコードが GCC-4.3.4 で受け入れられて
います。

ただし、私は恐ろしく煩わしい回避策を考え出しました(少なくともこの特定のユースケースでは。より一般的な解決策を歓迎します):

0 投票する
6 に答える
713 参照

c++ - 部分的に特殊化されたC++のテンプレートを使用してループを展開する

次のように、テンプレートを使用してC++でループを展開しようとしています。

Cygwinでg++3.4.4をコンパイルすると、次のエラーが発生します。

tmp.cpp:12:エラー:タイプT' of template argument0'はテンプレートパラメータに依存します

私は何が間違っているのですか?タイプTであることを示すために、どういうわけか0に注釈を付ける必要がありますか?

前もって感謝します。