C++ 为什么我会得到这个?
29==错误:AddressSanitizer:计算机0x0000003a5517 bp 0x7ffe2f5c2670 sp 0x7ffe2f5c2668上的地址0x602000000478上的堆缓冲区溢出 这是我的密码: 类解决方案{ 公众: 向量总和范围(向量和nums){C++ 为什么我会得到这个?,c++,C++,29==错误:AddressSanitizer:计算机0x0000003a5517 bp 0x7ffe2f5c2670 sp 0x7ffe2f5c2668上的地址0x602000000478上的堆缓冲区溢出 这是我的密码: 类解决方案{ 公众: 向量总和范围(向量和nums){ if(nums.size()==0) 返回{}; 如果(nums.size()==1) 返回{to_string(nums[0])}; 向量ans{}; int i=0,j=1,初始值=nums[0]; 如果(nums.
if(nums.size()==0)
返回{};
如果(nums.size()==1)
返回{to_string(nums[0])};
向量ans{};
int i=0,j=1,初始值=nums[0];
如果(nums.empty()| | nums.size()==0)
返回ans;
而(j
看起来很可疑。如果j==nums.size()
那么nums[j]
是num
上的越界错误。也许你是这个意思
while(j<nums.size())
while(j我认为您访问的索引超出了向量大小。索引j可能超出了范围
while(j< = nums.size())
你已经丢弃了一些完全脱离上下文的代码,并希望我们为你调试。这不是本网站的工作方式。如果你在开始发布之前花些时间阅读这些页面,你在这里的体验会更好。我建议你仔细阅读和修改。
if(nums[i]+1==nums[j])
...
initial=nums[j];
while(j<nums.size())
while(j< = nums.size())
nums[j]