spurious "class has more than one default constructor" error
@sean-mcmanus is already working on this.
Since Sep 9, 2026.
Assessment
This issue has not been assessed yet.
Description
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:
- Create a new folder, open it as a workspace, and copy bug.cpp into it
- Open the file
- 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
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/vscode-cpptools
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
microsoft/vscode-cpptools#14787 ·
-
[Bug] cpptools fails to start on Ubuntu ARM64 due to missing execute permissions on shared libraries Openbug fixed Language Service regression
microsoft/vscode-cpptools#14779 · 1 assignee ·
-
Language Service more info needed
microsoft/vscode-cpptools#14778 · 1 comment · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 64/100
microsoft/vscode-cpptools#14769 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
microsoft/vscode-cpptools#14768 · 1 comment ·
All issues in microsoft/vscode-cpptools
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
copse-dev/agent-pane#2953 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·