template-specialization

    1

    2答えて

    私は不満足なコンパイラエラーが発生しています。回避できないようです。これは、テンプレートの特殊化をどうするのですが、私は間違っているものを見ることができない...次のように ../../include/thread/lock_guard.inl:23: error: template-id 'lock_guard<>' for 'thread::lock_guard<thread::null_mu

    2

    2答えて

    私は、異なる場所で異なるタイプのテンプレート化が期待されるテンプレート関数を持っています。 問題は、指定された型が2つの異なる方法で別のテンプレートを生成するために特殊化されているかどうかをコンパイル時に知りたいということです。 template<typename T> bool tobool(const T&){ throw Exception("Can't cast to bool");};

    2

    2答えて

    ハッシュテーブルの挿入/参照/削除インターフェイスを提供する必要があります。私は内部バケット/エントリ管理を提供するためだけにハッシュテーブルを書いた。ハッシュ関数は外部から供給されるべきです。私は、ハッシュテーブルがバイト配列と固定長のデータ型を処理できるように、インタフェースを公開する方法について固執しています。問題は、バイト配列の場合、ハッシュ関数は配列の長さを知っている必要があり、他の型の

    2

    2答えて

    このテーマはかなり古いものになるはずですが、この特定のケースでは苦労しています。 enum MyEnum { E_1, E_2 }; template <MyEnum T> class MyClass { // method to be fully specialized template <typename U> void myMet

    1

    6答えて

    私はいくつかの同様の質問を見てきましたが、私はまだ混乱しています。私はを明示的に(コンパイラの最適化などではなく)にして、特化テンプレート関数に渡すときにオブジェクトのコピーを避けようとしています。ここに私のテストコードは次のとおりです。 #include <iostream> using namespace std; struct C { C() { cout << "C()

    3

    4答えて

    私は現在、いくつかのコードをリファクタリングしています.2つのテンプレートパラメータを持つクラステンプレートのメンバ関数を明示的に特化しています。 template <class S, class T> class Foo { void bar(); }; template <class S, class T> void Foo<S, T>::bar() { /* Gene

    1

    2答えて

    テンプレート関数を含む次のコードがあります。 2番目のパラメータを列挙型としてこの関数を呼び出すと、テンプレートの特殊化が検出され、場合によってはそうではない場合もあります。 enumがどちらの場合も同じ列挙型(再定義がないなど)で、他のパラメータが正しい値を持っていることを確認したところ、-Winlineを使って1つのコンパイルが行われていました)何を見なければならない? class A {

    7

    3答えて

    は、私はクラステンプレートを持つABCという名前のクラスを持つオブジェクト私は異なるクラスのテンプレートパラメータを持つかもしれないABCのオブジェクトを格納するつもりです。コンパイル時にポインタの場合でもテンプレートを指定する必要はありますか?コンテナが異なるタイプのオブジェクトを格納すると思われる場合はどうなりますか?それは不可能ですか?

    0

    1答えて

    通常のCスタイルの文字列を受け入れるテンプレートの特殊化の正しい構文を取得するのが難しいです。例 namespace RubyUtils { template<class T> VALUE toValue(const T& v); }; template<> VALUE toValue(char const* & v) { return toValue<string>

    2

    2答えて

    OK私が持っている: template<typename T> class Reader { class Input { template<typename C> void operator()(C& val) const { /* Do Some Work */ } }; }; あいにくのジェネ