<型名 T>空 右移(向量<T>&,整 M,整 n){//
    整 k=.大小();.调整(k+n);(k>M){//i=1,i=0都没问题.
        k--;[k+n]=[k];
    }//右移n位,从M处右移n位
}//直接从M处,右移n位.主要是n是运行时才知道的<整 M,型名 T>
空 右移(向量<T>&,整 n){右移(,M,n);}<整 M,整 N,型名 T>
空 右移(向量<T>&){右移(,M,N);}

上面代码就是,本来该运行时的,结果搞成编译时,就犯错了.因为,上面的M,N不是编译时已知的.所以不要用编译时.