【发布时间】:2016-04-05 01:09:16
【问题描述】:
我是 C++ 新手,在使用 std 模板化类/容器/方法时经常遇到编译时错误。
大多数时候,错误显示在我不直接包含的一些 std 头文件中。此外,违规行总是在我不直接调用的某些方法中。
所以我不知道我的代码的哪一行最终会导致该错误。换句话说,我无法确定导致错误的调用堆栈(如果在这种情况下可以这样调用)。
在确定出现此类错误的违规代码时,是否可以使用有效的“调试”过程?
这是此类错误的一个示例。我会以某种方式解决这个错误,所以我对这个特定的错误不感兴趣,而是对诸如此类问题的更一般的解决方案感兴趣。
错误 C2280 'MyNamespace::MyClass &MyNamespace::MyClass::operator =(const MyNamespace::MyClass &)': 试图引用已删除的函数 MyLib c:\program files (x86)\microsoft visual studio 14.0\vc\include\utility 53
【问题讨论】:
-
当然可以,通常会有更多信息,例如您所指的内容,例如像
std::ofstream或类似的已删除复制构造函数。 -
经常编译,这样你就知道是哪个改动引入了错误