問題タブ [uniform-initialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
59 参照

c++ - 統一された初期化構文が Visual Studio 2012 で機能しない

Most Vexing Parseを回避する明示的な方法として、Uniform Initialization Syntaxが導入されました。

http://en.cppreference.comはそれをDirect List Initializationと呼んでいると思います。

では機能しないようです。この例を考えると:

エラーが発生します:

エラー C2601: bar: ローカル関数の定義が不正です

代わりに行う場合:const vector<int> bar(istream_iterator<int>(foo), istream_iterator<int>());エラーが発生します:

エラー C2228: 左側に.frontはクラス/構造体/共用体が必要です

これは、より前の回避策で回避const vector<int> bar((istream_iterator<int>(foo)), istream_iterator<int>());できます。しかし、イライラします。には統一初期化構文が実装されていませんか?