。どうしたらいいですか?同じ宣言二つの異なるタイプ
答えて
あなたは序タグを使用できます。また
template <typename T, int Tag> class X { ... };
typedef X<int, 0> type_0;
typedef X<int, 1> type_1;
を、あなたが相続使用できます。
class type_0 : X<int> { ... };
class type_1 : X<int> { ... };
をしかし、これは、このような混合しながら、コンストラクタのパラメータと危険を転送する必要性など、いくつかの困難に苦しんでいます代入セマンティクスと継承。
ありがとう、lijieへの私の答えを参照してください –
@There ...:その後、継承ソリューションがあなたの唯一の選択肢かもしれません。 –
別のもの(たとえば、整数?)でパラメータ化する必要があります。たとえば、X
をtemplate <typename T, int N> struct X {...};
と定義し、X<int,0> type_0; X<int,1> type_1
を使用します。テンプレートパラメータが一致する場合、それらは同じタイプです。
それは私が違いをもってしたいことのようなものです。この2番目のパラメータをコンパイラで計算したいので、手動で入力する必要はありません。 –
すべての変数を別の型とみなしたいのですか?名前でタイプを参照することは決してありませんか? – lijie
私はあなたが言ったように、すべての変数が異なるタイプとみなされたいと思っています。 –
このように、Xテンプレートクラスから継承するクラスを作成します。彼らは同じライン上にない場合
template <int I>
class type_i : public X<int>
{
};
typedef type_i<0> type_0;
typedef type_i<1> type_1;
あなたの答え+1ありがとう、はいそれは実行可能な音。私は今それを試し、後で私はそれが私のために、そして私が作り出したものがどのようになったのかを皆に知らせます。 –
template < typename T, int I > class X;
X<int, __LINE__ > x0;
X<int, __LINE__ > x1;
X0とX1は、このような意志、他のすべての宣言など、さまざまなタイプになりますファイル内にあります。
ha lol :) +1 –
これはかなり賢いです:D –
@CashCowそれは解決策になりますが、__LINE__とは何ですか?ありがとうございました。 –
- 1. インタプリタは、同じクラスの2つの宣言が異なる
- 2. Filevalidationディレクティブの宣言は、二つの異なるモジュール
- 3. React Native:2つの異なるファイル間で同じ名前の@providesModule宣言
- 4. BOのWEBI:二つの異なる列に同じディメンションの異なる値
- 5. 同じ要求は、二つの異なる応答
- 6. 同じクエリは、二つの異なるマシン
- 7. 異なるタイプのデータベースと同じコード
- 8. 同じタイプの2つの異なるインスタンスを提供する
- 9. 同じ名前の異なるクラスの複数のオブジェクトを宣言する
- 10. はCで、異なるタイプの変数を宣言する++
- 11. GraphQLルートクエリー:同じスキーマ、異なるタイプ
- 12. 同じバイナリで同じタイプの異なるレイアウト
- 13. 同じタイプの異なるオブジェクトの異なる名前
- 14. 同じタイプのドキュメントを持つ異なるRavenDBコレクション
- 15. WPML同じスラッグ(URL)異なる言語
- 16. 同じサーバー、同じファイル、異なるMIMEタイプ
- 17. 同じ宣言を持つ2つのメソッドのASP.NET Web APIルーティング
- 18. Scala:同じ宣言を持つ2つの暗黙の引数
- 19. 宣言は、タイプ
- 20. 同じ値の二つが
- 21. 同じ変数を指す、異なる名前の2つのプロパティを宣言する
- 22. 同じタイプのjavaソースファイルを持つEclipseの異なる出力フォルダを持つ2つの異なるソースフォルダ
- 23. 、異なるタイプの二つのリストを結合し、日付
- 24. 二つの異なるタイプ最初の配列
- 25. typedefと同じスコープで同じ名前の宣言を使用
- 26. 二つの異なる列
- 27. 同じ.vimrc、2つの異なるコンピュータ
- 28. 同じインターフェースで異なるタイプの2つのリストをキャストしてマージする
- 29. タイプの宣言Numのリスト
- 30. クラスコンストラクタの宣言...同じことを宣言する2つの方法はありますか?
さまざまなタイプを使用できますか?または、私はここで何かを逃していますか? –
'typedef X type_0;'を意味しますか? –
kennytm
@Mike and Kenny no guys、私は、このクラステンプレート(X)を何らかの形で宣言して、同じparamを持つ各インスタンスが新しい型を作成することを望みます。 –