g ++错误:迷路' \ 177'在程序中

时间:2017-08-06 10:17:55

标签: c++ vector

我正在尝试编写以下程序

  

给定一组非重叠间隔,在间隔中插入新间隔(必要时合并)。

     

您可以假设间隔最初是根据其开始时间排序的。

     

示例1:

     

给定区间[1,3],[6,9]插入和合并[2,5]将导致[1,5],[6,9]。

     

示例2:

     

鉴于[1,2],[3,5],[6,7],[8,10],[12,16],插入和合并[4,9]将导致[1,2] ,[3,10],[12,16]。

这是我计划的相关部分 这里。我想从矢量中删除几个位置 然后我收到以下错误

error: stray '\177' in program

     intervals.erase(intervals.begin()+(p+1),intervals.begin()+(q+1)); 
 vector<Interval> Solution::insert(vector<Interval> &intervals, Interval newInterval) {

int n = intervals.size();
int p=-1,q=-1,a,b;

for(int i=0;i<n;++i){
    if(intervals[i].start <= newInterval.start <= intervals[i+1].end)
        p = i;
    else if(intervals[i].end < newInterval.start < intervals[i+1].start)
        a = i;


    if(intervals[i].start <= newInterval.end <= intervals[i+1].end)
        q = i;
    else if(intervals[i].end < newInterval.end < intervals[i+1].start)
        b = i;

}
int x,z;

if(p != -1 && q != -1)
    x = q-p;

if(x > 0){
    z=intervals[q].end;
    intervals.erase(intervals.begin()+(p+1),intervals.begin()+(q+1));
    intervals[p].end = z;
}
return vector
}

1 个答案:

答案 0 :(得分:4)

您是否从网站上复制了该代码?

我设法使用此代码段重现您的结果:

const char* msg = "You can't copy this";

复制并置于coliru here后,您将获得相同的错误代码。

我在HTML代码中用于上述代码段的是:

<code>const char* msg = </code>&#127;<code>"You can't copy this";
</code>

请注意我放在那里的&#127;字符。

要解决这个问题,您可以使用像Notepad ++这样的不错的编辑器来使杂散字符可见:

Notepad++ Screenshot