gpt4 book ai didi

c++ - 由 vector 中的负索引引起的杂散 ‘\342’ 或者它是什么?

转载 作者:行者123 更新时间:2023-11-28 00:36:12 28 4
gpt4 key购买 nike

有这个代码

#include <vector>
#include <iostream>

using namespace std;

size_t num_break_points(const vector<unsigned int> in_seq)
{
vector<unsigned int> in{ 0 };
in.insert(in.end(), in_seq.begin(), in_seq.end());
in.push_back(in_seq.size() + 1);

size_t ret = 0;

for (size_t i = 0; i < in.size() - 1; i++)
{
if (in[i + 1] - in[i] != 1)
ret++;
}
std::cout << ret << " " << "Printed out variable x" << endl;
return ret;
}

int main(){
vector<unsigned int> v { 3, 4, 5, −12, −8, −7, −6, 1, 2, 10, 9, −11, 13, 14 };
num_break_points(v);
return 0;
}

我正在将 vector 传递给具有一些负整数的函数,但是我得到了

prog.cpp:23:5: error: stray ‘\342’ in program <br/>
vector<unsigned int> v { 3, 4, 5, −12, −8, −7, −6, 1, 2, 10, 9, −11, 13, 14 }; <br/>
^ prog.cpp:23:5: error: stray ‘\210’ in program prog.cpp:23:5: error: stray ‘\222’ in program

我错过了什么?

如果我删除 vector 定义的无符号数,并使负整数为正数,例如:

#include <vector>
#include <iostream>
using namespace std;

size_t num_break_points(const vector<int> in_seq)
{
vector<int> in{ 0 };
in.insert(in.end(), in_seq.begin(), in_seq.end());
in.push_back(in_seq.size() + 1);

size_t ret = 0;

for (size_t i = 0; i < in.size() - 1; i++)
{
if (in[i + 1] - in[i] != 1)
ret++;
}
std::cout<<ret<<" "<<"Printed out variable x"<<endl;
return ret;
}

int main(){
vector< int> v {3, 4, 5, 12, 8, 7, 6, 1, 2, 10, 9, 11, 13, 14};
num_break_points(v);
return 0;
}

我得到:

10 Printed out variable x

最佳答案

此错误消息表示您在初始化 vector 的行中有一个无效字符。可能 - 不是正确的 -,例如如果您复制了这一行,它可能是一些 UTF-8 字符。

关于c++ - 由 vector 中的负索引引起的杂散 ‘\342’ 或者它是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20860601/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com