|
|
1
6
如果您实际上没有导致调用复制构造函数,那么如果编译器无法生成它,那么这不是一个错误。听起来您(可能是间接)导致使用复制构造函数。
您可以通过声明自己的复制构造函数来抑制生成的编译器(如果不使用它,则不需要定义它)。你可以把它放在
如果这将错误更改为“复制构造函数不可访问”或“链接错误”,则说明确实要使用复制构造函数,需要分析原因。 |
|
|
2
9
使事物不可复制的通常方法是声明但不定义复制构造函数,并将其设置为私有的,这样就没有任何东西可以调用它。 下一版本的语言将提供 explicit way to suppress these generated functions . |
|
|
3
3
不在当前版本的C++中。在C++ 0x中,将有一个
|
|
|
4
3
在完全支持新的C++0X标准之前,最好的办法是删除特殊成员函数的版本,而不是实现它们。通常情况下,它们是私有的(有助于明确它们不应该被使用)。
|
|
|
5
2
不:)
如果你想让你的类不可复制,使用
或者在类定义中使用参数化宏来声明私有复制构造函数。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |