1

小さなアプリケーションを作成していて、テンプレート関数を使用する必要があります。ほとんどの場合、ユーザーに何らかのデータ型の 2 を入力してから、2 つのうちどちらが大きいかを伝えるように求められます。したがって、テンプレート関数として、関数に何が渡されているかを伝えたいと思います。たとえば、関数が double を取る場合、ユーザーに「Enter 2 Doubles」と尋ねられるようにしたいと考えています。など。これは、関数呼び出しとセットアップです。

int main(){
    getInput(intA, intB);
    getInput(doubleA, doubleB);

    ...
}

template <typename TYPE>
TYPE getInput(TYPE a, TYPE b){
    cout << "Enter 2 " << TYPE << endl;
    cin >> a >> b;
    ...
}

このアプリケーションは進行中の作業ですが、ユーザーに「Enter Some Input」などを要求するだけでバグが発生します。これが可能かどうかさえわかりませんが、クールだと思いました。

4

1 に答える 1

5

RTTIを使用:

cout << typeid(a).name();
于 2012-08-28T04:50:48.517 に答える