multi-argument operator[] breaks intellisense

Offen
#13,407 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
cpp, typescript, vscode
Bereich
devtools, tooling

Rechercherichtung

Reproduziere das Problem mit dem bereitgestellten C++-mat-Beispiel und der C/C++-Erweiterung in VS Code. Verfolge, wie IntelliSense einen operator[] mit mehreren Argumenten verarbeitet, und überprüfe Vervollständigung und Diagnosen für f[0, 0]; als erledigt gilt dies, wenn der Ausdruck nicht mehr die gemeldete rote Wellenlinie oder die Operator-Inkompatibilität anzeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug Language Service Visual Studio

Type: Bug

multi-argument operator[] breaks intellisense. e.g.

template<class T, int N, int M>
struct mat {
    T a[N][M];

    T &operator[](int i, int j) { return a[i][j]; }
};
mat4 f;
    print(f[0, 0]);

causes a red squiggle with description

no operator "[]" matches these operandsC/C++(349)
main.cpp(20, 12): operand types are: mat4 [ int ]
main.cpp(20, 12): built-in operator[](, <ptrdiff_t>) does not match because argument #1 does not match parameter
main.cpp(20, 12): built-in operator[](<ptrdiff_t>, ) does not match because argument #1 does not match parameter

Extension version: 1.23.6
VS Code version: Code 1.98.2 (ddc367ed5c8936efe395cffeec279b04ffd7db78, 2025-03-12T13:32:45.399Z)
OS version: Windows_NT x64 10.0.19045
Modes: Unsupported

System Info
Item Value
CPUs 12th Gen Intel(R) Core(TM) i9-12900K (24 x 3187)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) undefined
Memory (System) 63.75GB (47.06GB free)
Process Argv --crash-reporter-id 280fe042-c548-46f7-a820-a3a3af7da63e
Screen Reader no
VM 0%
A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
2e7ec940:31000449
pythontbext0:30879054
cppperfnew:31000557
dwnewjupytercf:31046870
nativerepl1:31139838
pythonrstrctxt:31112756
nativeloc1:31192215
iacca1:31171482
5fd0e150:31155592
dwcopilot:31170013
6074i472:31201624
dwoutputs:31242946
customenabled:31248079
hdaa2157:31222309
copilot_t_ci:31222730
850i5325:31264362
968h8231:31262364
jda6j935:31233686
pythoneinst12:31262605
bgcontrol:31262794
fh1c7952:31258891
31787653:31262186
793h1473:31266633
80860236:31264450
49da9784:31264548

Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/vscode-cpptools

Alle Issues in microsoft/vscode-cpptools

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.