解决错误使用std方法/类时std标头中的错误
Resolving errors in std headers when using std methods/classes incorrectly
我是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++对这些错误消息进行解密并找出您做错了什么的众多挑战之一。您在使用标准库时越适应,就越能更好地找出这些错误。这一切都是在编译时把事情做好的一部分,这样你就不必在运行时处理这些错误了。运行时错误可能难以解决许多数量级。
相关文章:
- 使用std::source_location报告错误的最佳实践
- std::is_base_of表示ctor编译错误
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 程序崩溃并显示"std::out_of_range"错误
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 我收到以下错误:抛出'std::bad_alloc'实例后终止调用
- 尝试使用 std::vector<std::thread时出现静态断言失败错误>
- 错误 C2679:二进制"<<":未找到采用类型 'std::string_view' 的右侧操作数的运算符(或者没有可接受的转换)
- 为什么 std::绑定错误参数可以成功?
- std::cout输出int时出现编译错误
- 使用静态库与 std::jthread (g++-10) 的分段错误
- std::unordered_map 类型对象声明期间出现"field has incomplete type"错误
- 在缺少函数重载时抛出异常,并带有 std::variant 而不是编译时错误
- 使用 memcpy() 复制到 std::chrono::milliseconds 会给出错误 -Werror=clas
- 显式 std::exception_ptr 转换为 bool 不存在.VS2010 错误?
- "random_shuffle":不是"std"错误的成员
- VC++ 2010 "array is not a member of std"错误
- 开发C++ "to_string is not a member of std"错误
- STD未来异常-已检索,STD错误
- 交叉编译c++的树莓派std错误