|
1
6
必须在类外部显式定义/初始化所有静态成员。 在第二个示例中,您可以正确地执行此操作(in t base::a=5),但在第一个示例中,对于派生::a不执行此操作,在第一个示例中添加以下行应该可以解决此问题:
|
|
|
2
2
您需要实际定义静态成员。和你一样
在第二种情况下,你应该这样做
在第一种情况下。 |
|
|
3
1
这里有两个问题。 第一个是为什么在第一个示例中会出现链接器错误? 在第一个示例中,您会得到一个链接器错误,因为您没有定义/初始化类B的静态成员。 第二个问题是为什么编译器不抱怨多个声明? 编译器不会抱怨多个声明,因为就其而言,这两个变量在不同的作用域中,它们的损坏名称无论如何都会不同。这与其中一个变量是静态的无关。实际上,静态成员甚至不会被继承。因此,以下没有静态变量的代码段也是正确的:
|
|
AstralHex · 矩阵乘法代码工作不正常 9 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 9 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 9 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 10 月前 |