bug分析
jianglx3
跨考汪一以贯之!
展开
-
Leetcode报错AddressSanitizer: heap-buffer-overflow on address
2006. 差的绝对值为 K 的数对数目 - 力扣(LeetCode) (leetcode-cn.com)解决方法:(7条消息) Leetcode报错AddressSanitizer: heap-buffer-overflow on address 0x603000000028_huihui_8的博客-CSDN博客原创 2022-02-09 23:12:14 · 439 阅读 · 0 评论 -
runtime error: member access within null pointer of type ‘struct ListNode‘错误
LeetCode203错误分析:(3条消息) LeetCode:runtime error: member access within null pointer of type 'struct ListNode'错误_时间有泪-CSDN博客如上述博客方法进行更改后执行错误,最后的更改方式:if(p==NULL){ return head;}while(p->next!=NULL){ if(p->next->val==val){ q=p-&g原创 2022-01-25 00:07:37 · 1816 阅读 · 0 评论 -
stack容器遇到的错误: back() called on empty queue
//特别细节的错误: back() called on empty queue//while条件处,s.empty()与s.top()==v[cnt]先后有着严格的逻辑问题//如果先判断top,即报错时的代码//会因为s可能为空,导致s.top()处出现问题//故s.empty()必须在前,同时,使用s.top()请注意栈是否为空//empty()函数,如果为空返回1//如果栈顶元素与输入情况的第一项相同,即该栈顶元素可以出栈了while (!s.empty() && s.t.原创 2021-12-03 22:09:51 · 3954 阅读 · 0 评论 -
vector容器使用push_back赋值后 数据仍为0
vector的push_back无法赋值?-CSDN社区问题来源: 浙大数据结构2021秋 02-线性结构3 Reversing Linked List (25 分)本题同PAT1025 但1025未使用vector容器错误原因:vector<struct Node> v(n); for (int i = add; i != -1; i = Node[i].next) { v[a++] = Node[i]; //v.push_back(Node[i]); //这种.原创 2021-12-03 15:19:46 · 2467 阅读 · 0 评论 -
E1035 no member named ‘first‘
问题来源: Leetcode 506.相对名次猜测:对于map容器,作为容器,不使用迭代器是无法直接访问first与second但是对于属于容器内中,元素类型的pair,即使不使用迭代器也可以使用first和secondclass Solution {public: vector<string> findRelativeRanks(vector<int>& score) { string medal[3]={"Gold Medal"原创 2021-12-02 20:12:51 · 701 阅读 · 0 评论 -
vector<int> v 与 vector<int> v(n) 的区别
问题来源: PAT1090 全部段错误本错误同 out of subscript string即字符串未初始化,强行使用数组下标访问形式(9条消息) vector<int> v 与 vector<int> v(n) 的区别_JCjunior的博客-CSDN博客转载 2021-11-24 20:54:23 · 371 阅读 · 0 评论 -
unsigned int - int情况
问题来源:PAT1094问题错误表现: 无法正确跳出循环,即延长了循环次数,从而造成结果错误//测试点4://num是string类型的,而num.size()返回的是unsigned int类型的数,//当L < K时,数学上差值为负数,但是无符号的num.size() - K得到的是极大的正数,所以会继续循环造成错误#include<iostream>#include<string>#include<cmath>using na...原创 2021-11-23 20:52:21 · 412 阅读 · 0 评论 -
c++运行错误: string subscript out of range
string不知上界,故可能引发报错PAT1057 B组//char two[10000];//string two = new string[100];string two;int i = 0;while (sum != 0) { two[i++] = sum % 2 + '0'; sum /= 2;}原创 2021-11-14 21:40:19 · 12729 阅读 · 0 评论 -
E0075 “*“ 的操作数必须是指针,但它具有类型 “int“
#include<iostream>using namespace std;#define pi 3.14;class cycle {public: int r; double ccycle() { return 2 * pi * r; }};错误原因: define的最后3.14带有分号; 此时,pi被替换为3.14;而非3.14在第八行pi被提前结束,该行语句实际为return 2*pi;*r;r类型为int,不可被*解引,只有指针类型才可被解引...原创 2021-09-11 18:06:14 · 6825 阅读 · 5 评论 -
E0413: 不存在从 “std::string“ 到 “const char *“ 的适当转换函数
问题来源:PAT乙级1048string A, B;cin >> A >> B;if(strcmp(A,B)<0){}//错误代码: E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数错误原因:E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数if(strcmp(A,B)<0){}即在c++中,对于string型不可以使用strcmp()函数原创 2021-11-08 21:23:05 · 6272 阅读 · 0 评论 -
C4700: 使用了未初始化的局部变量“s”
PAT1044#include<iostream>using namespace std;#include<string>int main() { //这里如果写作:char* s; //cin.get函数会报错:s为初始化 //C4700: 使用了未初始化的局部变量“s” //这是c++的重要准则,凡指针被使用,必先初始化指针 //将其改成char s[50];后,就给指针型变量s一个初始化的机会, //类似数组初始化与指针类型数组声明区别,给定具体容量大小原创 2021-11-04 20:44:39 · 11045 阅读 · 0 评论 -
最大子列和_浙大DS_MOOC (new与num[100005]的奇怪bug)
int Max3(int A, int B, int C) { /* 返回3个整数中的最大值 */ return A > B ? A > C ? A : C : B > C ? B : C; }}int DivideAndConquer(int List[], int left, int right) { /* 分治法求List[left]到List[right]的最大子列和 */ int MaxLeftSum, MaxRightSum; /* 存放左右子问题的解 */.原创 2021-10-20 11:31:21 · 147 阅读 · 0 评论 -
delete与heap corruptiondetected
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《【C++】heap corruption detected错误调试总结及拓展》, 一起来围观吧 https://blog.csdn.net/jxlaozhuan/article/details/51523556?utm_source=app&app_version=4.16.0&code=app_1562916241&uLinkId=usr1mkqgl919blen...原创 2021-10-19 21:48:27 · 129 阅读 · 0 评论 -
C3848具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool MyCompare::operator()(int,int)“
//set容器默认排序为从小到大,掌握如何改变排序规则//利用仿函数,可以改变排序规则#include<iostream>#include<set>using namespace std;//仿函数:用类调用函数//仿函数设计:class MyCompare {public: //下一行末尾加上const /*bool operator()(int v1, int v2){ return v1 > v2; }*/ bool operator()(i.原创 2021-10-12 21:21:43 · 371 阅读 · 0 评论 -
黑马程序员p123 重载运算符_递增运算符 (多个bug需要分析)
很多未完全理解的小困惑,先插个眼#include<iostream>using namespace std;class MyInteger { friend ostream& operator<<(ostream& cout, MyInteger myint); friend ostream& operator<<(ostream& cout, MyInteger& myint); /*friend MyInteg原创 2021-09-26 23:36:57 · 148 阅读 · 0 评论 -
C2679: 没有找到接受“MyInteger”类型的右操作数的运算符(或没有可接受的转换)
#include<iostream>using namespace std;class MyInteger { friend ostream& operator<<(ostream& cout, MyInteger& myint); friend MyInteger& operator++(MyInteger& myint); friend MyInteger operator++(MyInteger& myint, int.原创 2021-09-26 22:53:26 · 788 阅读 · 0 评论 -
黑马c++ P120 关于类内指针与构造函数的相关bug
首先是正确代码,接下来将在正确代码基础上进行修改://一个小技巧:类外声明函数最好最后写#include<iostream>using namespace std;class building;class person {public: person(); void visit();private: building* b;};class building { friend void person::visit();public: building();原创 2021-09-25 22:03:13 · 57 阅读 · 0 评论 -
C4700 未初始化变量
#include<iostream>using namespace std;//友元:让类外的特殊函数访问到私有属性,运用友元技术//友元计数:让一个函数或者类访问另一个类中私有成员//关键字friend//友元三种实现://全局函数,类,成员函数//举例:客人只能访问客厅,如何让客人访问属于私人领地的卧室呢?class building { //重点:友元声明!!! //格式为: friend + 函数声明 friend void goodday(building .原创 2021-09-23 23:48:56 · 456 阅读 · 0 评论