解决错误使用std方法/类时std标头中的错误

Resolving errors in std headers when using std methods/classes incorrectly

本文关键字:std 错误 类时 方法 解决      更新时间:2023-10-16

我是C++的新手,在使用std模板类/容器/方法时经常遇到编译时出错的情况。

大多数时候,错误显示在一些std头文件中,我不直接包括这些头文件。此外,有问题的行总是在一些我不直接调用的方法内部。

所以我不知道我的代码的哪一行最终会导致那个错误。换句话说,我无法确定导致错误的调用堆栈(在这种情况下,如果可以调用它)。

有没有一个有效的"调试"过程可以在出现这样的错误时确定有问题的代码?

这就是这种错误的一个例子。我会以某种方式找出这个错误,所以我对这个特定的错误不感兴趣,而是对这类问题的更通用的解决方案感兴趣。

错误C2280"MyNamespace::MyClass&MyNamespace::MyClass::运算符=(const MyNamespace::MyClass&)':试图引用已删除的函数MyLib c:\program files(x86)\microsoft visual studio14.0\vc\include\utility 53

由于错误地使用了标准库,因此会出现错误。有时会有很多页的错误,但你的代码错误会出现在某个地方。这是使用C++对这些错误消息进行解密并找出您做错了什么的众多挑战之一。您在使用标准库时越适应,就越能更好地找出这些错误。这一切都是在编译时把事情做好的一部分,这样你就不必在运行时处理这些错误了。运行时错误可能难以解决许多数量级。