1
1
没有复制构造函数和赋值运算符,
在编辑中,定义了缺少的元素。复制构造函数的问题在于它什么都不做。不幸的是
对于复制构造函数,假设您保证p\u B始终指向有效的B对象,并且假设没有切片风险:
如果您认为不需要复制构造函数或赋值运算符,为了确保遵守规则3,您也可以将它们声明为已删除:
如果您的代码不小心使用了它们,编译器会抱怨,而不是生成代码和上述问题。 最后,在init函数中实例化。但对于您的很短的代码片段,它似乎是此函数的本地对象。所以一旦你离开这个函数,它就会被破坏。 |
2
1
我确信这个问题不是源于代码,而是源于项目配置属性。当/MD与\u DEBUG配对时,似乎会出现此错误。然而,当一个项目被纳入发布版本时,不应该定义调试,而应该定义NDEBUG。一旦我将预处理器定义从\u DEBUG更改为NDEBUG,断言失败就不再出现了。 值得注意的是,在使用/MDd和\u DEBUG时,项目执行没有问题。 |
cyber101 · vc++未声明的标识符,尽管其已声明 6 年前 |
areum · 如何在列表控件中创建右键单击菜单? 6 年前 |
Rafal · 如何在MFC中的CWnd中显示CFormView? 6 年前 |
Anton Savelyev · 在发布版本中删除类指针会导致内存问题 7 年前 |
xtkwfn · 如何查找目录[已关闭]下的所有文件夹 7 年前 |
Andrew Truckle · 在WPARAM中组合5个值 7 年前 |
user3070144 · 通过全局接口表封送ActiveX 7 年前 |