は、私が呼び出しf()
のために何が起こるか疑問に思いました。 vexing parseはxを関数宣言にしますか?コンパイラはそれを変数にしているようです。誰かが私がそれについて確かめるのを助けることができますか?X X(t ...)は、vexing parseを使用して関数宣言を実行できますか?私はそれを見ていたとき、私は</p> <pre><code>template<typename ...T> void f(T ...t) { X x(t...); // ... } </code></pre> <p>として関数テンプレートを書いていた
15
A
答えて
13
空のかっこ(()
)は、ソースコードにそのように記述されている場合にのみ、関数宣言にします。
§14.5.3 [temp.variadic] p6
も、この言及:
はsizeofないパックの拡張のインスタンス化を...式は、リストNは、要素の数であるE1、E2、...、ENを生成しますパックの拡張パラメータで。 [...] Nが0の場合、展開のインスタンス化によって空のリストが生成されます。 そのようなインスタンシエーションは、リストを完全に省略すると、文法があいまいになるか、文法にあいまいされてしまう場合でも、囲み構造の構文的解釈を変更しません。 [例:
template<class... T> struct X : T... { }; template<class... T> void f(T... values) { X<T...> x(values...); } template void f<>(); // OK: X<> has no base classes // x is a variable of type X<> that is value-initialized
末端例]
のコード例で具体的に第二のコメントを見ます。
関連する問題
- 1. 適切なストレージ値のタイプを取得していますか?</p> <pre><code>struct Base {} template<typename T> struct Box : Base { template<typename... Args> Box(Args&&... args) : t(forward<Args>(args)...) {} T t; } </code></pre> <p>をそして、我々は関数MakeBoxがあります:
- 2. テンプレートを特殊化<typename T、テンプレート<typename> class U>
- 3. は、私は例が</p> <pre><code>COL1 COL2 A X A X A X A X A X B X B X B X C X C X C X </code></pre> <p>Iされて、私はタイプA、BおよびCを持つSQLデータベースから情報を取得しようとしている
- 4. ガブガブ飲むパイソン - C++</p> <pre><code>int8_t foo(int8_t x); </code></pre> <p>私はSWIGインタフェースが、int8_tタイプを使用して、私のPythonコードからこの関数を呼び出すしたいと思い、私は8ビットの整数paramenterとしてとるC関数を持っている
- 5. エラー:私は、Mac OS X 10.8を使用して、私のラテックスファイルに<code>latexindent.pl</code><code>perl</code>スクリプトを実行したい@INC
- 6. classobjectsはシングルトンですか?私たちは<code>x = type(a)</code>と<code>x == y</code>を持っている場合は
- 7. 非同期ラムダ式を代入するSystem.Func <T>?それは私がサードパーティのキャッシュで働いている</p> <p>コンクリート型Tとしてバックキャストされたリソースを取得し</p> <pre><code>private async Task<T> _Fetch<T>(Uri uri) </code></pre> <p>:
- 8. ネストされた名前空間のテンプレートクラスの前方宣言:デフォルトのテンプレート引数はどこに行きますか?その後</p> <pre><code>struct X { }; namespace n1 { namespace n2 { template <typename T, typename S = X> struct A { }; } using n2::A; } </code></pre> <p>:
- 9. 引数としてのインターフェイスまたはジェネリックメソッドwhere - 違いは何ですか?</p> <pre><code>public void Method1<T>(class1 c, T obj) where T:Imyinterface </code></pre> <p>そして</p> <pre><code>public void Method2(class1 c, Imyinterface obj) </code></pre> <p>:
- 10. operator <<をメンバー関数としてオーバーロードできません
- 11. は、どのように私は、変数</p> <pre><code>int x = 2; </code></pre> <p>とリストを持っている
- 12. Ninjectコンテキストは、私は一般的なインタフェース<code>IRepository<T></code>との2つの実装<code>xrmRepository<T></code>と<code>efRepository<T></code></p> <p>を持っているワット/オープンジェネリック
- 13. ANTLR:関数名と私は私の文法で<em>パラメータ</em>(値<em>ヌル</em>)と<em>関数名</em>両方として「NULL」を使用できるようにしたいと思いパラメータ
- 14. typeof(x)をテンプレート引数として使用しますか? <code>f</code>の両方がどこかに定義された関数と変数<code>y</code>、ある</p> <pre><code>auto x = f(y); </code></pre> <p>:
- 15. JavaはクラスFoo <T super X>をサポートしていますか?
- 16. SomeList <T>:リスト<T>としてリスト<T>をキャストできません。
- 17. std :: cout << xの間のdiffrenceは何ですか;とstd :: cout << x << std :: endl ;?
- 18. Collections.sort()の宣言:</p> <pre><code>public static <T extends Comparable<? super T>> void sort(List<T> list) </code></pre> <p>及びません:<? super T>ではなく<T>
- 19. Swiftでnilを指定した場合の省略表現ですか?</p> <pre><code>x = x ?? y </code></pre> <p>しかし<code>x ??= y</code>がコンパイラによって受け入れられない:として私は、上記のステートメントを知って
- 20. </p> <p>が実は、私は私の<code>List<x, y></code>への変数のすべての<code>y</code>要素を追加したい...私はここに新たなんだと私はリストといくつかの助けをしたいと思い
- 21. Stack <T>はICollectionを実装していますが、ICollectionのメソッドを持っています<T>
- 22. C#アクション<T>、パラメータとしての関数を渡す
- 23. (function(x:<_))= xと(function(x:_))= xの違いは何ですか?
- 24. は私が私のプログラムは、それぞれの実行のためのlogs.logファイルを上書きするか、のように、</p> <pre><code>logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p', filename='logs.log', level=logging.INFO) </code></pre> <p>をpython2.xロギングモジュールを使用していたPython 2.xでファイル
- 25. なぜPHPの浮動小数点数(0)が符号付きで表示されていますか?</p> <pre><code>$x = 0; echo $x; </code></pre> <p>それは<code>0</code>を表示していました:PHPで
- 26. Cプリプロセッサ:この場合</p> <pre><code>void Func(int x) { printf("%d",x); } #define func Func x //or something int main() { func 10; //<---- remove parenthesis } </code></pre><p>、<code>func</code>は実関数を指します。私はそれがこのように振る舞うマクロを書き込むことができる場合に思っていた括弧
- 27. は、私は、この種の機能</p> <code>alpha</code>、<code>beta</code>、<code>A_i</code>と<code>B_i</code>は実数である<pre><code>f(x)=alpha+beta \sum_i A_i/(x-B_i) </code></pre> <p>を持っている機能
- 28. 内部リスト<T>をIEnumerable <T>またはICollection <T>として返すことができますか?
- 29. は、これは私です</p> <pre><code>'[errors]' => [], </code></pre> <p>..私は、ユーザーテーブルを持っていると私は私が<code>$user</code>をデバッグする場合でも、それはnullを返し<code>save()</code>保存したいときにエラーがないCakePhp3
- 30. Mavenは成功したプロジェクトを実行しますが、私は<code>Maven</code>のプロジェクトを持っていると私は<code>eclipse</code>に<code>Maven build...</code>を実行したときに、私は成功したプロジェクトを実行するが、 できexcutable <code>JAR</code></p> <p>を作成するために、<code>Maven</code>でプロジェクトを構築したい
オハイオ州私はそれを逃した可能性があります!ありがとう:-) –