1
私は変数x
を持っているが、と宣言しました。今私はx
のタイプのstd::vector
の保持要素を宣言したいと思いますので、私は書く:typeof(x)をテンプレート引数として使用しますか? <code>f</code>の両方がどこかに定義された関数と変数<code>y</code>、ある</p> <pre><code>auto x = f(y); </code></pre> <p>:
std::vector<typeof(x)> v;
これはコンパイルエラーになります。解決策はここでは明示的な引数をx
とすることですが、これはx
の宣言でauto
の目的を破ると思います!だから、タイプを明示的に書かなくても、どのようにしてx
の型をテンプレート引数として使うことができますか(型の変更では、私のコードは有効なままです)。
'decltype(x)'? – peppe
代わりに 'decltype()'を使用してください – DimChtz
['decltype'](http://en.cppreference.com/w/cpp/language/decltype)を意味しましたか?あるいは、GCCとその '' typeof'(https://gcc.gnu.org/onlinedocs/gcc/Typeof.html)を実際に使っていますか?また、完全なコンパイラエラーメッセージを投稿できますか? – Cornstalks