microsoft / microsoft/vscode-cpptools
spurious "class has more than one default constructor" error
オープン
@sean-mcmanus がすでに取り組んでいます。
2026年9月9日 から。
bug
fixed
Language Service
parser
verified
- 主要言語
- TypeScript
- スター
- 6.2k
- フォーク
- 1.7k
- 平均マージ
- 14時間 46分
- マージ済み PR(30日)
- 61
説明
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。