microsoft / microsoft/vscode-cpptools
multi-argument operator[] breaks intellisense
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema utilizzando l’esempio mat in C++ fornito e l’estensione C/C++ in VS Code. Traccia il modo in cui IntelliSense gestisce un operator[] con più argomenti e verifica il completamento e la diagnostica per f[0, 0]; il lavoro è completato quando l’espressione non mostra più la sottolineatura ondulata rossa segnalata né l’incompatibilità tra operatori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, typescript, vscode
- Ambito
- devtools, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100