gpt4 book ai didi

c++ - 类有一个 selftype 的对象

转载 作者:太空狗 更新时间:2023-10-29 20:19:46 24 4
gpt4 key购买 nike

想明白为什么没有编译错误

如果一个类有一个相同类型的静态对象,并且该类有参数构造函数,为什么在创建它时没有执行

class test {

static test a;
int b;

public:
test(int arg) {
b = arg;
}
};

int main() {
test t1(100);

return 0;

}

我知道要让它工作,我需要添加为

 test test::a(100)

但是没有上面这行为什么没有编译错误。任何指针

最佳答案

如果有的话,那将是一个链接器错误。但是由于您不使用静态对象,链接器不会查找它,因此不会出现构建错误...

试试这个进行比较:

int main()
{
test::a.b = 7; // sure, you need to make the members public for...
return 0;
}

现在您确实使用了静态对象——但它不是在任何地方创建的,链接器将无法查找它。

关于c++ - 类有一个 selftype 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56587542/

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