specialization

    4

    2答えて

    次のコード(私がしたいことをやって、適切にコンパイルして実行する)は、ポインタが型を知らなくなったときにポインタを削除する必要があるさまざまな型のプロパティを格納するクラスを書く際に経験した奇妙な例です。私の解決策は、特定の型を削除するためにアドレスを取得して格納できるテンプレート関数を使用してDeleterクラスを作成することでした。 は、なぜそれがアサートをヒットしません。このコードは具体的に

    4

    3答えて

    私はテンプレートの特殊化を理解しようとしています。なぜこれが発生するエラー(specialization of 'T foo(T, T) [with T = int]' after instantiation) template <class T> T foo(T a, T b); int main() { int x=34, y=54; cout<<foo(x, y);

    5

    2答えて

    特殊化が明示的に書かれていない型に対して、テンプレート関数を使って何とか禁止することはできますか?私は私が専門としようとすると、そのfooはテンプレート関数ではありません、私はコンパイラが言うそして原因、関数のジェネリックバージョンをスキップすることができない template <typename T> void foo(){} template <> void foo<int>(){}

    2

    2答えて

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

    2

    1答えて

    私はSTDのサブクラス::これが正常に動作します template<class ValueT> FancyKeyMap : public std::map<FancyKey,ValueT, FancyKey::Less> { ... public: inline iterator find(FancyKeyArg key) { return

    1

    2答えて

    私は最近、実行時にC#コードを生成することが可能であることを知り、この機能を使用したいと考えています。私は線分の交差を計算するような非常に基本的な幾何学的計算を行うコードを持っており、計算の多くが同じ平面または同じ線に対して実行されるので、いくつかの方法のための特殊なコードを生成することによって、そしてもう一度。交差点を計算するコードを特化することで、パフォーマンスのメリットを得ることができるはず

    3

    1答えて

    参照としてIConnectionへの参照を渡すInitializeという抽象メソッドを持つ抽象クラスServerが必要です。そこから、このクラスから派生したクラスは、のオブジェクトを本質的に特殊化することができるはずです(Initialize)。これは、2つの抽象メソッド(DataSentとDataReceived)を使用したいと思っていることを除いて、問題ありません。このような 何かが、私が欲し

    3

    1答えて

    私はC++を使い慣れていないので、テンプレートを使用しようとしていますが問題があります。 私がしようとしているのは、テンプレートを使って数値の2乗を計算しようとします。数値はint、float、および複素数のような基本データ型です。私はまた、テンプレートを使用して、複雑なクラスを実装し、次のようにコードは次のとおりです。 template <typename T> class Complex {

    2

    2答えて

    次のコードを見ると、私は3行目に混乱しています。 3行目は基本テンプレートの特別なケースではなく、「クラス過負荷」のようです。しかし、それは正常にコンパイルすることができます。 行7のobj1は、行3にしたがって定義されていますが、コンパイルに失敗しました。 どうしてですか? template<typename S,int T, void(* U)()> class Bar{}; // Base

    3

    3答えて

    このScalaコードが型チェックに失敗するのはなぜですか? trait T { type A } trait GenFoo[A0, S <: T { type A = A0 }] trait Foo[S <: T] extends GenFoo[S#A, S] "型引数[S#A、S]はGenFooの型パラメータの境界を形質に適合していない[A0、S <:T {タイプA = A0を}]" な