gpt4 book ai didi

c++ - 程序运行,但 Eclipse 调试器挂起

转载 作者:太空狗 更新时间:2023-10-29 23:12:02 25 4
gpt4 key购买 nike

程序是这样的:

class A {
const A& a;
public:
A(const A& a) : a(a) {}
};

int main(int argc, char** argv) {

A a(a);

}

程序编译运行。但是,有时 Eclipse 调试器会卡住。注释掉 A a(a) 行可以解决问题。

A a(a) 行中是否存在危险?

最佳答案

这是无限递归,显然A类的构造函数在一次又一次地调用自己。如果你使用 gcc,你会看到这样的警告:

warning: variable 'a' is uninitialized when used within its own
initialization [-Wuninitialized]
A a(a);

就像你在调用这个函数:

void assign(int& a){
assign(a);
}
int main(){
int a;
assign(a);
return 0;
}

没有编译错误,是逻辑错误

关于c++ - 程序运行,但 Eclipse 调试器挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48570127/

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