由向量中的负索引引起的杂散 '342' 或它是什么
Stray ‘342’ caused by negative index in vector or what is it?
有这段代码
#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;
}
我正在将一个向量传递给一个有一些负整数的函数,但是我得到了
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
我错过了什么?
如果我删除向量定义的无符号,并使负整数为正数,例如:
#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 打印出变量 x
此错误消息表示,初始化向量的行上有一个无效字符。可能-
不是正确的-
,例如,如果你复制了这一行,它可能是一些UTF-8字符。
您的'-'
不是实际的减号。您可能是从 PDF 或电子书中复制的。
此外,使用负值将导致v
缩小vector<unsigned int>
。
相关文章:
- 使用大括号实例化 - 它是什么,为什么在这里使用它?
- 当我打印字符串时,我不知道它是什么输出
- 它是什么SOMTEMPLATE_VR_API
- wxDataViewModel:它是什么以及如何使用它
- typedef void (*MyCallback) : 它是什么以及如何使用它
- C ++技巧与*和它是什么意思
- 它是什么?C++宏函数?如何替换这个宏?我能举个例子吗
- 由向量中的负索引引起的杂散 '342' 或它是什么
- 我在运行时遇到以下错误.它是什么意思?我该如何调试它
- 视觉错误类 c++ 类。 不知道它是什么
- 为什么地址运算符是C++类的默认成员,它是什么
- 我不认为这是选角,但它是什么?
- 函数声明中带有[]运算符的指针——它是什么意思
- 警告C4309 -它是什么意思,在这种情况下可以忽略它
- CL错误与MS Visual Studio 2010,它是什么
- in(std::cin):它是什么意思
- 我没有找到solus linux,它是什么,我怎么得到它
- 存储分配器——它是什么?
- 分段故障(堆芯倾倒)?它是什么,为什么会引起???(c++中的双循环链表程序)
- boost::heap::arity,它是什么