gpt4 book ai didi

c++ - 类的 Ctor 初始化程序未调用适当的构造函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:35 25 4
gpt4 key购买 nike

我正在玩构造/破坏对象。这是我试过的http://coliru.stacked-crooked.com/a/ff17cc5649897430 :

#include <iostream>

struct B{
B(){ std::cout << "B()" << std::endl; }
B(int){ std::cout << "B(int)" << std::endl; }
};

struct A : virtual B
{
int B;
A(int a) : B(a) { std::cout << "A(int)" << std::endl; }
} a(10);

int main()
{
}

程序输出为

B()
A(int)

为什么?我明确指定要在 ctor-initializer 中调用的类 B 的构造函数。

最佳答案

B(a) 正在构造B 成员变量。更好地命名您的变量,您将看到您想要看到的内容。

关于c++ - 类的 Ctor 初始化程序未调用适当的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com