1
|
Narek · 技术社区 · 15 年前 |
![]() |
1
6
编译器为所有具有构造函数的类成员调用默认构造函数。但是整数没有构造函数,所以没有初始化。但是,我发现很难相信这会导致运行时错误。 初始化这些变量:
|
![]() |
2
1
首先,从实际角度来看,这不是真正的运行时错误。这是开发环境的内置调试功能。当您读取一个未初始化的值时,编译器会尝试捕捉这种情况,这正是您的情况。
其次,当我们“实例化”一个
|
![]() |
3
0
什么平台?编译器?编译器标志?必须添加一些额外的检查,因为正常C++中没有检查初始化状态的任何东西。 |
![]() |
4
0
实际上,默认的和复制的构造函数可以工作。但在cpp中,未初始化的变量实际上包含垃圾。因此,你会得到你的错误(
|
![]() |
5
0
首先,当您实例化一个int而不初始化它时,它有一个不确定的值。内置基本类型没有构造函数。 其次,该代码不应生成运行时错误。它只是在自动生成的复制构造函数和赋值操作符中复制不确定的int值。它应该生成一个编译器警告,说明正在使用未初始化的变量。 第三,你的主要签名是错误的-正确的签名是
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 7 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 7 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 7 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 7 月前 |