構文で遊ぶ以外に、私は必要性をよく理解していません。それはまさにそれです auto
のために設計されました auto
追加されたのと同じ基準によってサポートされています decltype
...
とにかく、関数呼び出しをシミュレートする必要があります。
decltype(std::declval<A>()[0]) b = 0; // equivalent to `int b = 0;`
質問
これは私にとって些細な質問のように見えます、多分私は正しいドキュメントを見つけられなかったかもしれません。
私はstruct Aを持っています、そして、パラメーターbを返すタイプの関数aであると定義したいです。
struct A{
int operator[](int);
};
そして、ある時点で
decltype(A::operator[]) b = 0;
私はこれをすることができました:しかし、それは醜いです。
A a;
decltype(a[0]) b = 0;
(それはdouble / intなどです)、私はテンプレートを使用したくありません。
ありがとう、
解決
構文で遊ぶ以外に、私は必要性をよく理解していません。それはまさにそれです auto
のために設計されました auto
追加されたのと同じ基準によってサポートされています decltype
...
とにかく、関数呼び出しをシミュレートする必要があります。
decltype(std::declval<A>()[0]) b = 0; // equivalent to `int b = 0;`