私はここで何をしようとしているかについて、C++に既知のパターン/イディオムがあるかどうかを調べようとしています。クラスAは、引数がタイプAでなければならない関数を持つオブジェクトで構成されていなければなりません。次のコードは、定数式でtypeidを使用できないためコンパイルされません。助言がありますか?引数を取り囲むクラスを持つメソッドでC++オブジェクトを持つには?
#include <iostream>
#include <typeinfo>
using namespace std;
template <typename T>
struct B {
int f(T& i) { cout << "Hello\n"; }
};
class A {
B<typeid(A)> b;
};
int main()
{
A k;
}
は 'B Bの何が問題なのですか;'? – kennytm
'B 'の何が問題なのですか?私が見る限り、完全な型を必要とする 'B'には何もありません。 – celtschk