microsoft / microsoft/vscode-cpptools

spurious "class has more than one default constructor" error

Aperta
#14,746 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

@sean-mcmanus ci sta già lavorando.

Dal 9/9/2026.

bug fixed Language Service parser verified
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Environment
  • OS and Version: x64, Arch Linux (7.2.3.arch1-2)
  • VS Code Version: 1.136.1 commit a44adf7f53e00964ab890f9f8758a334f1fc15bc
  • C/C++ Extension Version: 1.34.3 pre-release
  • If using SSH remote, specify OS of remote machine: N/A
Bug Summary and Steps to Reproduce

Bug Summary: IntelliSense gives a "class has more than one default constructor" error on well-formed code (at least both GCC and Clang accept it):

struct B1{};
struct B2{};
struct D : B1, B2{
    using B1::B1;
    using B2::B2;
    D(int){}
};

int main(){
    D v;         // error on this line
    (void)v;
    return 0;
}

Steps to reproduce:

  1. Create a new folder, open it as a workspace, and copy bug.cpp into it
  2. Open the file
  3. See error

Expected behavior: No error is raised.

Configuration and Logs

c_cpp_properties.json: (None used)

"Log Diagnostics" output:

-------- Diagnostics - 9/8/2026, 12:29:01 PM
Version: 1.34.3
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/home/marr-ales-fios/include"
    ],
    "defines": [],
    "compilerArgs": [
        "-m64",
        "-freflection"
    ],
    "cStandard": "c23",
    "cppStandard": "c++26",
    "intelliSenseMode": "linux-gcc-x64",
    "intelliSenseModeIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "mergeConfigurations": false,
    "recursiveIncludes": {},
    "recursiveIncludesPriorityIsExplicit": false,
    "recursiveIncludesOrderIsExplicit": false,
    "compilerPath": "/usr/bin/g++",
    "compilerPathIsExplicit": true,
    "browse": {
        "limitSymbolsToIncludedHeaders": true
    }
}
Modified Settings:
{
    "C_Cpp.intelliSenseUpdateDelay": 500,
    "C_Cpp.autocompleteAddParentheses": true,
    "C_Cpp.suggestSnippets": false,
    "C_Cpp.default.includePath": [
        "/home/marr-ales-fios/include"
    ],
    "C_Cpp.default.intelliSenseMode": "linux-gcc-x64",
    "C_Cpp.default.compilerPath": "/usr/bin/g++",
    "C_Cpp.default.compilerArgs": [
        "-m64",
        "-freflection"
    ],
    "C_Cpp.default.cStandard": "c23",
    "C_Cpp.default.cppStandard": "c++26",
    "C_Cpp.codeAnalysis.updateDelay": 1000,
    "C_Cpp.debugShortcut": false,
    "C_Cpp.intelliSenseMemoryLimit": 6144,
    "C_Cpp.vcpkg.enabled": false,
    "C_Cpp.experimentalFeatures": "enabled",
    "C_Cpp.copilotHover": "disabled"
}
Additional Tracked Settings:
{
    "editorTabSize": 4,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {},
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": true,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.34.3.0
Current database path: /home/marr-ales-fios/.cache/vscode-cpptools/20411a271e6efead7eb399ae3cf81ba7/.browse.VC.db
Translation Unit Mappings:
[ /home/marr-ales-fios/Projects/cppbug/bug.cpp - source TU]:
Translation Unit Configurations:
[ /home/marr-ales-fios/Projects/cppbug/bug.cpp ]
    Process ID: 8913
    Memory Usage: 24 MB
    Compiler Path: /usr/bin/g++
    Language: C++
    Include Paths:
        include: /home/marr-ales-fios/include
        system include: /usr/include/c++/16
        system include: /usr/include/c++/16/x86_64-pc-linux-gnu
        system include: /usr/include/c++/16/backward
        system include: /usr/lib/gcc/x86_64-pc-linux-gnu/16/include
        system include: /usr/local/include
        system include: /usr/include
    Standard Version: c++26
    IntelliSense Mode: linux-gcc-x64
    Other Flags:
        --g++
        --gnu_version=160201
Total Memory Usage: 24 MB

Language server logging: lslogs.txt

Other Extensions

No response

Additional context

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.