Vscode-cpptools: C ++ 17テンプレート引数の推定と構造化バインディングタイプの推定

作成日 2018年06月08日  ·  3コメント  ·  ソース: microsoft/vscode-cpptools

タイプ:LanguageService

C ++ 17標準と競合しているように見える2つのインテリセンスの問題が発生しました。

1つ目は、C ++拡張機能が、クラステンプレートの引数の推定を赤い波線のあるエラー(http://en.cppreference.com/w/cpp/language/class_template_argument_deduction)と見なすことです。 以下はスクリーンショットです:
template argument
このコードは、c ++ 17標準の主要なコンパイラでコンパイルされます。 cppプロパティファイルでデフォルトでオンになっていて、構造化バインディングが機能するため、インテリセンスのc ++ 17標準がオンになっていると確信しています。

2番目の問題は、自動[...、...]構造化バインディングでの型の推定です。 以下はスクリーンショットです:
structured binding
ここでの変数aは、int&ではなくint型である必要があります。 gccとclangをだまして、テンプレートコンパイラエラーを介して型を出力するようにチェックしました。

  • OSとバージョン:Manjaro Linux
  • VSコードバージョン:1.24.0
  • C / C ++拡張バージョン:0.17.4
Language Service bug fixed (release pending) parser

最も参考になるコメント

これを報告していただきありがとうございます。 私は問題を再現することができます。

全てのコメント3件

これを報告していただきありがとうございます。 私は問題を再現することができます。

偽のエラーは保留中の0.17.7-Insidersアップデートで修正されますが、「int&」バグはまだ再現されているため(VS 2017でも)、そのための新しいバグを作成しました: https

@narutse int&は「設計による」として解決されました://github.com/Microsoft/vscode-cpptools/issues/2256およびhttps://developercommunity.visualstudio.com/content/problem/229224/intellisense-を参照して

このページは役に立ちましたか?
0 / 5 - 0 評価